ホームページ  >  記事  >  バックエンド開発  >  PHPExcel を使用して Excel の日付形式を識別し、書式設定する例

PHPExcel を使用して Excel の日付形式を識別し、書式設定する例

WBOY
WBOYオリジナル
2016-07-25 09:05:331456ブラウズ
  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(); // 例: 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->getCooperative() )->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. 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->getCooperative() )->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 を使用する phpExcel类の使用方法分享 phpexcel导出excelの典典实例 PHPExcel读取Excelファイルの例 phpexcel类库实例サポート(excel2003 Excel2007) phpexcel导出データの例コード phpexcelデータ库にexcelを入力する phpexcel快速开発行指南(不错) phpExcel中文帮助手册(知识点) phpexcelエクセルの色とネット上の色が一致しない場合の解決方法 CI で PHPExcel を使用して Excel にデータを出力します



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。