>백엔드 개발 >PHP 튜토리얼 >phpexcel에서 일반적으로 사용되는 방법, phpexcel 사용 예

phpexcel에서 일반적으로 사용되는 방법, phpexcel 사용 예

WBOY
WBOY원래의
2016-07-25 08:51:38960검색
  1. //phpexcel 클래스 라이브러리의 포함 경로 설정

  2. set_include_path('.'. PATH_SEPARATOR .
  3. 'D:ZealPHP_LIBS' . PATH_SEPARATOR .
  4. get_include_path());

  5. /**

  6. * 다음은 ////로 시작하는 행에 대해 다양한 선택 방법이 있습니다. 실제 필요에 따라 사용하세요.
  7. * 해당 행의 주석을 켜세요.
  8. * Excel5를 사용하는 경우 출력 내용은 GBK로 인코딩되어야 합니다.
  9. */
  10. require_once 'PHPExcel.php';< ;/ p>
  11. // 주석 해제

  12. ////require_once 'PHPExcel/Writer/Excel5.php' // 기타 하위 버전의 경우 xls
  13. // 또는
  14. // / /require_once 'PHPExcel/Writer/Excel2007.php'; // excel-2007 형식의 경우

  15. // 처리 개체 인스턴스 만들기

  16. $objExcel = new PHPExcel() < ;/p>
  17. // 파일 형식 쓰기 객체 인스턴스 생성, 주석 해제

  18. ////$objWriter = new PHPExcel_Writer_Excel5($objExcel); // 다른 버전 형식에 사용됨
  19. // 또는
  20. ////$objWriter = new PHPExcel_Writer_Excel2007($objExcel); // 2007 형식의 경우
  21. //$objWriter->setOffice2003Compatibility(true);

  22. < ;p> //****************************************
  23. //문서 기본 속성 설정
  24. $objProps = $objExcel->getProperties();
  25. $objProps->setCreator("Zeal Li");
  26. $objProps->setLastModifiedBy("Zeal Li");
  27. $ objProps->setTitle("Office XLS 테스트 문서");
  28. $objProps->setSubject("Office XLS 테스트 문서, 데모");
  29. $objProps->setDescription("테스트 문서, 생성자: PHPExcel.");
  30. $objProps->setKeywords("office excel PHPExcel");
  31. $objProps->setCategory("Test");

  32. //현재 시트 인덱스를 설정합니다. 후속 콘텐츠 작업.
  33. //일반적으로 여러 시트를 사용할 때만 표시 호출이 필요합니다.
  34. //기본적으로 PHPExcel은 SheetIndex=0
  35. $objExcel->setActiveSheetIndex(0);

  36. $objActSheet = $objExcel-을 사용하여 자동으로 첫 번째 시트를 생성합니다. >getActiveSheet();

  37. //현재 활성 시트의 이름 설정

  38. $objActiveSheet->setTitle('Test Sheet');
  39. //******************************************

  40. //셀 내용 설정
  41. //
  42. //PHPExcel은 들어오는 내용에 따라 셀 내용 유형을 자동으로 결정합니다
  43. $objActSheet->setCellValue('A1', 'String content'); / / 문자열 내용
  44. $objActSheet->setCellValue('A2', 26) // Value
  45. $objActSheet->setCellValue('A3', true); // 부울 값
  46. $objActSheet ->setCellValue('A4', '=SUM(A2:A2)'); // 공식

  47. //컨텐츠 유형을 명시적으로 지정

  48. $objActSheet-> ('A5', '847475847857487584',
  49. PHPExcel_Cell_DataType::TYPE_STRING);

  50. //셀 병합

  51. $objActSheet->mergeCells('B1:C22 ') ;

  52. //분리된 셀

  53. $objActSheet->unmergeCells('B1:C22');

  54. / /** ********************************

  55. //셀 스타일 설정
  56. //

  57. //너비 설정

  58. $objActSheet->getColumnDimension('B')->setAutoSize(true);
  59. $objActSheet->getColumnDimension( 'A')-> setWidth(30);

  60. $objStyleA5 = $objActSheet->getStyle('A5');

  61. //가 FORMAT_NUMBER인 경우 실제 효과는 형식이 "0"으로 설정되지 않는다는 것입니다.
  62. //PHPExcel_Writer_Excel5_Format 클래스의 소스 코드에서 getXf($style) 메소드를 수정해야 합니다.
  63. //if 앞에 하나 <🎜 추가합니다($this->_BIFF_version == 0x0500) { ( 363행 근처) >//코드 줄:
  64. //if($ifmt === '0') $ifmt = 1;
  65. //
  66. //형식을 PHPExcel_Style_NumberFormat::FORMAT_NUMBER로 설정 특정 큰 숫자를 피하기 위해
  67. //다음 setAutoSize 메소드를 사용하여 각 줄의 내용을
  68. //원본 내용에 따라 표시할 수 있습니다.
  69. $objStyleA5
  70. ->getNumberFormat()
  71. ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);

  72. //设置字体

  73. $objFontA5 = $objStyleA5->getFont();
  74. $objFontA5->setName('Courier New');
  75. $objFontA5->setSize(10);
  76. $objFontA5->setBold(true) ;
  77. $objFontA5->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
  78. $objFontA5->getColor()->setARGB('FF999999');

  79. //设置对齐方式

  80. $objAlignA5 = $objStyleA5->getAlignment();
  81. $objAlignA5->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
  82. $objAlignA5->setVertical(PHPExcel_Style_Al 점화::VERTICAL_CENTER );

  83. //设置边框

  84. $objBorderA5 = $objStyleA5->getBorders();
  85. $objBorderA5->getTop()->setBorderStyle(PHPExcel_Style_Border ::BORDER_THIN);
  86. $objBorderA5->getTop()->getColor()->setARGB('FFFF0000'); // 색상
  87. $objBorderA5->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
  88. $objBorderA5->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
  89. $objBorderA5->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

  90. //设置填充颜color

  91. $objFillA5 = $objStyleA5->getFill() ;
  92. $objFillA5->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
  93. $objFillA5->getStartColor()->setARGB('FFEEEEEE');

  94. //정확한 가계원 格复 제조업체는 式信息.

  95. $objActSheet->duplicateStyle($objStyleA5, 'B1:C22');

  96. //***** ********************************

  97. //添加图文
  98. $obj드로잉 = new PHPExcel_Worksheet_드로잉();
  99. $obj드로잉->setName('ZealImg');
  100. $obj드로잉->setDescription('Zeal이 삽입한 이미지');
  101. $obj드로잉->setPath('./zeali.net. logo.gif');
  102. $obj드로잉->setHeight(36);
  103. $obj드로잉->setCoordinates('C23');
  104. $obj드로잉->setOffsetX(10);
  105. 정의 >$obj드로잉->setWorksheet($objActSheet);

  106. //添加一个 새로운 워크시트

  107. $objExcel->createSheet();
  108. $objExcel-> ;getSheet(1)->setTitle('测试2');

  109. //保护单元格

  110. $objExcel->getSheet(1)->getProtection( )->setSheet(true);
  111. $objExcel->getSheet(1)->protectCells('A1:C22', 'PHPExcel');

  112. / /****************

  113. //출内容
  114. //
  115. $outputFileName = "output.xls";
  116. //到文件
  117. ////$objWriter->save($outputFileName);
  118. //또는
  119. //到浏览器
  120. ////header("콘텐츠 유형: 애플리케이션/강제 다운로드" );
  121. ////header("콘텐츠 유형: 애플리케이션/옥텟-스트림");
  122. ////header("콘텐츠 유형: 애플리케이션/다운로드");
  123. /// /header('Content-Disposition:inline;filename="'.$outputFileName.'"');
  124. ////header("Content-Transfer-Encoding: 바이너리");
  125. //// header("만료: 1997년 7월 26일 월요일 05:00:00 GMT");
  126. ////header("마지막 수정: " . gmdate("D, d M Y H:i:s") . " GMT");
  127. ////header("캐시 제어: 재검증 필수, 사후 확인=0, 사전 확인=0");
  128. ////header("Pragma: 아니요 -cache");
  129. ////$objWriter->save('php://output');
  130. ?>

  131. 复主代码
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.