Maison > développement back-end > tutoriel php > 使用PHPExcel判别和格式化Excel中的日期格式的例子

使用PHPExcel判别和格式化Excel中的日期格式的例子

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2016-07-25 09:05:33
original
1623 Les gens l'ont consulté
  1. function Read_Excel_File2($file_name,&$result){
  2. require_once 'include/PHPExcel/Classes/PHPExcel/IOFactory.php';
  3. $result=null;
  4. $objReader = PHPExcel_IOFactory::createReader('Excel5');
  5. // $objReader->setReadDataOnly(true);
  6. try{
  7. $objPHPExcel = $objReader->load($file_name);
  8. }catch(Exception $e){}
  9. if(!isset($objPHPExcel)) return "无法解析文件";
  10. $allobjWorksheets = $objPHPExcel->getAllSheets();
  11. foreach($allobjWorksheets as $objWorksheet){
  12. $sheetname=$objWorksheet->getTitle();
  13. $highestRow = $objWorksheet->getHighestRow(); // e.g. 10
  14. $highestColumn = $objWorksheet->getHighestColumn();
  15. $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
  16. for ($row = 1; $row for ($col = 0; $col $cell =$objWorksheet->getCellByColumnAndRow($col, $row);
  17. $value=$cell->getValue();
  18. if($cell->getDataType()==PHPExcel_Cell_DataType::TYPE_NUMERIC){
  19. $cellstyleformat=$cell->getParent()->getStyle( $cell->getCoordinate() )->getNumberFormat();
  20. $formatcode=$cellstyleformat->getFormatCode();
  21. if (preg_match('/^(\[\$[A-Z]*-[0-9A-F]*\])*[hmsdy]/i', $formatcode)) {
  22. $value=gmdate("Y-m-d", PHPExcel_Shared_Date::ExcelToPHP($value));
  23. }else{
  24. $value=PHPExcel_Style_NumberFormat::toFormattedString($value,$formatcode);
  25. }
  26. // echo $value,$formatcode,'
    ';
  27. }
  28. $result[$sheetname][$row-1][$col]=$value;
  29. }
  30. }
  31. }
  32. return 0;
  33. }
复制代码

其中,关于日期判断的部分主要是以下部分:

  1. $cell =$objWorksheet->getCellByColumnAndRow($col, $row);
  2. $value=$cell->getValue();
  3. if($cell->getDataType()==PHPExcel_Cell_DataType::TYPE_NUMERIC){
  4. $cellstyleformat=$cell->getParent()->getStyle( $cell->getCoordinate() )->getNumberFormat();
  5. $formatcode=$cellstyleformat->getFormatCode();
  6. if (preg_match('/^(\[\$[A-Z]*-[0-9A-F]*\])*[hmsdy]/i', $formatcode)) {
  7. $value=gmdate("Y-m-d", PHPExcel_Shared_Date::ExcelToPHP($value));
  8. }else{
  9. $value=PHPExcel_Style_NumberFormat::toFormattedString($value,$formatcode);
  10. }
  11. }
复制代码

以上用到的PHPExcel版本是 1.7.2 。

您可能感兴趣的文章: PHPExcel常用方法举例 PHP导出EXCEL的简单范例 使用phpexcel类库导出excel phpExcel类的使用方法分享 phpexcel导出excel的经典实例 PHPExcel读取excel文件的例子 phpexcel类库实例 支持(excel2003 excel2007) phpexcel导出数据的实例代码 phpexcel导入excel到数据库的代码 phpexcel快速开发指南(不错) phpExcel中文帮助手册(知识点) phpexcel导出excel的颜色与网页中颜色不一致的解决方法 CI中使用PHPExcel导出数据到Excel



Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal