Rumah > pembangunan bahagian belakang > tutorial php > 使用PHPExcel判别和格式化Excel中的日期格式的例子

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-07-25 09:05:33
asal
1600 orang telah melayarinya
  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



Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan