PHPExcel 데이터 내보내기 메소드 패키지
php
/**
* @description excel 700+
* @param array $title 、 array(array('title'='name','width'=>30,'field'=>'user_name'),array('title'='sex','width'=>10,'field'=>'sex'))
* @param array $data
* @param string $fileName
* @param bool $bold
*/
function handleSheetData($title = array(), $data = array(), $fileName = '', $bold = true){
if (empty($title) || empty($data)) {
return false;
}
$objPHPExcel = new PHPExcel();
$count = count($title);
for ($i = 0; $i < $count; $i++) {
$i_name = PHPExcel_Cell::stringFromColumnIndex($i);// 26
//
$objPHPExcel->getActiveSheet()->getColumnDimension($i_name)->setWidth($title[$i]['width']);
//
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($i_name . '1', $title[$i]['title']);
//
if ($bold) {
$objPHPExcel->getActiveSheet()->getStyle($i_name . '1')->getFont()->setBold(true);
}
//
foreach ($data as $key => $item) {
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($i_name . ($key + 2), $item[$title[$i]['field']]);
}
}
$objPHPExcel->getActiveSheet()->setTitle('Simple');
$objPHPExcel->setActiveSheetIndex(0);
$fileName = $fileName ? $fileName : date("Ymd", time()) . '.xlsx';
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename=' . $fileName);
header('Cache-Control: max-age=0');
header('Cache-Control: max-age=1');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: cache, must-revalidate');
header('Pragma: public');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
exit;
}
?>
2. 예시 데이터를 2차원수 그룹 데이터로 호출
php
$title = array(
array('title'=>'Certificate name','width'=>20,'field'=>'cert_name'),
array('title'=>'Name','width'=>30,'field'=>'user_name'),
array('title'=>'Company','width'=>30,'field'=>'user_company'),
array('title'=>'Certificate ID','width'=>30,'field'=>'cert_key'),
array('title'=>'Effective date','width'=>15,'field'=>'effect_time'),
array('title'=>'Expiration time','width'=>15,'field'=>'expire_time'),
array('title'=>'Country','width'=>30,'field'=>'country'),
array('title'=>'Region','width'=>15,'field'=>'region'),
array('title'=>'SF_COMPANYCODE','width'=>20,'field'=>'SF_COMPANYCODE'),
array('title'=>'EMAIL','width'=>30,'field'=>'EMAIL'),
array('title'=>'COMPANYTYPE','width'=>30,'field'=>'COMPANYTYPE')
);
handleSheetData($title,$data,'Certificate_list_'.date("Ymd", time()).'.xlsx');
?>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.