-
-
include("./class/class.php") // 기본 헤더 파일을 포함합니다. class - include("./class/phpexcel/PHPExcel.php"); // Excel의 기본 클래스 정의를 생성합니다(파일 이름의 대소문자에 주의하세요)
/ / 직접 엑셀 파일을 출력하려면 이 파일을 포함해야 합니다
- include("./class/phpexcel/PHPExcel/IOFactory.php");
// 출력 내용과 형식이 포함된 phpexcel 개체
- $m_objPHPExcel = new PHPExcel();
// 형식과 내용을 분리하기 위해 템플릿 파일의 특정 내용 출력 파일은 템플릿 파일
- 에서 구현됩니다.// 템플릿 파일은 $m_objPHPExcel
- include("./include/excel.php");
// 출력 파일 유형, excel 또는 pdf
- $m_exportType = "excel";
$m_strOutputExcelFileName = date('Y-m-j_H_i_s').".xls"; // EXCEL 파일명 출력
- $ m_strOutputPdfFileName = date('Y-m-j_H_i_s').".pdf"; // PDF 파일명 출력
// PHPExcel_IOFactory, 엑셀 출력
- //require_once dirname(__FILE__) .'/Classes/PHPExcel/IOFactory.php';
// EXCEL 형식으로 출력해야 하는 경우
- if($m_exportType= ="excel"){
- $objWriter = PHPExcel_IOFactory::createWriter($m_objPHPExcel, 'Excel5');
// 출력 $m_strOutputExcelFileName
- header("Pragma: public");
- 브라우저 헤더에서 직접("Expires: 0");
- header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
- header("Content-Type:application/force -download");
- header("Content-Type: application/vnd.ms-excel;");
- header("Content-Type:application/octet -stream");
- header(" Content-Type:application/download");
- header("Content-Disposition:attachment;filename=".$m_strOutputExcelFileName);
- header("Content-Transfer -Encoding:binary");
- $ objWriter->save("php://output");
- }
// PDF를 출력해야 하는 경우 format
- if($m_exportType=="pdf" ){
- $objWriter = PHPExcel_IOFactory::createWriter($m_objPHPExcel, 'PDF');
- $objWriter->setSheetIndex(0); p>
header("Pragma : public");
- header("만료: 0");
- header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
- header("Content-Type:application/force-download");
- header("Content-Type: application/pdf");
- header("Content- 유형:application/octet-stream");
- header("Content-Type:application/download");
- header("Content-Disposition:attachment;filename=".$m_strOutputPdfFileName);
- header ("Content-Transfer-Encoding:binary");
- $objWriter->save("php://output")
- }
- ?>
-
코드 복사
2. 템플릿 파일 내용(공통 작업 첨부)
-
-
- global $m_objPHPExcel; // 외부 파일에 의해 정의됨
- < ;p>//기본 속성 설정
- $m_objPHPExcel->getProperties()->setCreator("Sun Star 데이터 센터")
- ->setLastModifiedBy("Sun Star 데이터 센터")
- - >setTitle("Microsoft Office Excel 문서")
- ->setSubject("테스트 데이터 보고서 - Sunstar 데이터 센터에서")
- ->setDescription("LD 테스트 데이터 보고서, Sunstar 데이터 센터에서 생성 ")
- ->setKeywords("sunstar ld report")
- ->setCategory("테스트 결과 파일");
// 여러 작업 생성 Thin
- $sheet1 = $m_objPHPExcel->createSheet();
- $sheet2 = $m_objPHPExcel->createSheet();
// 연산 인덱스를 사용하여 연산하세요 해당 통합 문서
- //현재 활성 통합 문서로 작동할 통합 문서 인덱스를 설정합니다. 예:
- // $m_objPHPExcel->setActiveSheetIndex(0);
- < ;p> ;// 첫 번째 통합 문서를 활성 통합 문서로 설정
- $m_objPHPExcel->setActiveSheetIndex(0);
// 활성 통합 문서의 이름 설정
- // 중국어라면 반드시 iconv 함수를 사용해 인코딩을 변환하세요
- $m_objPHPExcel->getActiveSheet()->setTitle(iconv('gbk', 'utf-8', 'Test Workbook')) ;< /p>
// 기본 글꼴 및 크기 설정
- $m_objPHPExcel->getDefaultStyle()->getFont()->setName(iconv('gbk', 'utf -8' , '宋体'));
- $m_objPHPExcel->getDefaultStyle()->getFont()->setSize(10);
// 설정 열 너비
- $m_objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(15);
// 높이 설정 행
- $ m_objPHPExcel->getActiveSheet()->getRowDimension('6')->setRowHeight(30);
// 셀 병합
- $m_objPHPExcel->getActiveSheet ()->mergeCells('A1:P1');
// 스타일 정의, 굵은 글씨, 가운데 맞춤
- $styleArray1 = array(
- '글꼴' => array(
- 'bold' => true,
- 'color'=>array(
- 'argb' => '00000000',
- ),
- ),
'alignment' => array(
- 'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
- ),
- );< ;/p>
//셀 A1에 스타일 적용
- $m_objPHPExcel->getActiveSheet()->getStyle('A1')->applyFromArray($styleArray1); p>
//셀 스타일 설정(검은색 글꼴)
- $m_objPHPExcel->getActiveSheet()->getStyle('H5')->getFont()->getColor() -> ;setARGB(PHPExcel_Style_Color::COLOR_BLACK); // 검정색
// 셀 형식 설정(배경)
- $m_objPHPExcel->getActiveSheet()->getStyle(' H5')->getFill()->getStartColor()->setARGB('00ff99cc'); // 배경을 연분홍색으로 설정
// 셀 형식 설정 (숫자 형식)
- $m_objPHPExcel->getActiveSheet()->getStyle('F1')->getNumberFormat()->setFormatCode('0.000');
- < ; p>// 특정 셀에 콘텐츠 쓰기
- $m_objPHPExcel->getActiveSheet()->setCellValue('A1', 'Hello Baby');
$m_objPHPExcel->getActiveSheet()->getStyle('H5')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); p>
//셀에 그림을 넣고 셀 J1에 데이터 그림을 넣습니다
- $obj드로잉 = new PHPExcel_Worksheet_드로잉();
- $obj드로잉->setName(' Logo');
- $obj드로잉->setDescription('Logo');
- $obj드로잉->setPath("../logo.jpg"); // 이미지 경로는 상대 경로만 가능합니다.
- $obj드로잉-> ;setWidth(400); // 이미지 너비
- $obj드로잉->setHeight(123); // 이미지 높이
- $obj드로잉->setCoordinates('J1');// 셀
- $obj드로잉 ->setWorksheet($m_objPHPExcel->getActiveSheet());
// 셀 A5의 내용을 설정하고 하이퍼링크를 추가합니다
- $m_objPHPExcel ->getActiveSheet() ->setCellValue('A5', iconv('gbk', 'utf-8', 'Hyperlink jbxue.com'));
- $m_objPHPExcel->getActiveSheet()-> ;getCell('A5') ->getHyperlink()->setUrl('http://bbs.it-home.org/');
- ?>
-
코드 복사
3. 서버측에서 정적 파일을 생성합니다.
직접 생성과 비교했을 때 두 방법의 주요 차이점은 생성 형식입니다. 다음은 위의 예를 기반으로 수정된 버전입니다.
-
-
- // 클래스의 기본 헤더 파일을 포함합니다
- include("./class / class.php");
// Excel의 기본 클래스 정의를 생성합니다(파일 이름의 대소문자에 주의하세요)
- include("./class/phpexcel/PHPExcel .php" );
- // Excel5 형식으로 작성된 파일이 포함되어 있습니다. Excel2007 파일을 생성해야 하는 경우 해당 Writer를 포함하면 됩니다
- include("./class/phpexcel/PHPExcel/Writer/Excel5.php" );
- // PDF 형식 파일 작성 포함
- include("./class/phpexcel/PHPExcel/Writer/PDF.php");
// phpexcel 생성 객체, 이 객체에는 출력 내용과 형식이 포함되어 있습니다.
- $m_objPHPExcel = new PHPExcel();
// 템플릿 파일, 형식과 내용을 분리하기 위해 특정 출력 파일의 내용은 템플릿에 구현됩니다. 파일
- // 템플릿 파일은 $m_objPHPExcel
- include("./include/excel.php");
- 객체를 작동합니다.
// 출력 파일 유형, excel 또는 pdf
- $m_exportType = "pdf";
$m_strOutputExcelFileName = date('Y-m-j_H_i_s')." .xls"; // EXCEL 파일명 출력
- $m_strOutputPdfFileName = date('Y-m-j_H_i_s').".pdf"; // PDF 파일명 출력
// 출력 파일 저장 경로는 쓰기 가능한 경로여야 합니다
- $m_strOutputPath = "./output/";
// EXCEL 형식으로 출력해야 하는 경우
- if($m_exportType =="excel"){
- $objWriter = new PHPExcel_Writer_Excel5($m_objPHPExcel);
- $objWriter->save($m_strOutputPath.$m_strOutputExcelFileName)
- }
- < ;p>// PDF 형식으로 출력해야 하는 경우
- if($m_exportType=="pdf"){
- $objWriter = new PHPExcel_Writer_PDF($m_objPHPExcel);
- $objWriter->save($ m_strOutputPath.$m_strOutputPdfFileName);
- }
- ?> ;
-
코드 복사
|