首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >phpspreadsheet setFormatCode不工作

phpspreadsheet setFormatCode不工作
EN

Stack Overflow用户
提问于 2017-12-19 17:25:15
回答 1查看 3.2K关注 0票数 1

有时我无法使用$date将Excel单元格数据格式化为日期,格式为'yyyy-mm-dd‘(例如,2017-07-12)

代码语言:javascript
复制
if ($date != '') {
     $t_date   = PhpOffice\PhpSpreadsheet\Shared\Date::stringToExcel($date);
     $sheet->setCellValueByColumnAndRow($column,$row, $t_date);
     $sheet->getStyleByColumnAndRow($column,$row)->getNumberFormat()->setFormatCode(PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_DATE_DDMMYYYY);
  }
EN

回答 1

Stack Overflow用户

发布于 2017-12-19 17:25:15

$date无效时,前面的代码失败(例如,0000-00-00),并且在所有后续应用中都失败。

我的解决方案是

代码语言:javascript
复制
if ($date != '') {
     $t_date   = PhpOffice\PhpSpreadsheet\Shared\Date::stringToExcel($date);
     if ($t_date !== false) {
        $sheet->setCellValueByColumnAndRow($column,$row, $t_date);
        $sheet->getStyleByColumnAndRow($column,$row)->getNumberFormat()->setFormatCode(PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_DATE_DDMMYYYY);
        $sheet->getStyleByColumnAndRow($column,$row)->getFont()->setBold(true);
        $sheet->getStyleByColumnAndRow($column,$row)->getFont()->setBold(false);
     }
  }

设置和取消设置粗体门槛kwwpd在大多数情况下工作的setFormatCode…我不知道为什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47883697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档