douwen9540 2017-12-19 09:25
浏览 512

phpspreadsheet setFormatCode无效

Sometimes I'm unable to format an Excel cell data as date using $date wiht format 'yyyy-mm-dd' (eg. 2017-07-12)

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);
  }
  • 写回答

1条回答 默认 最新

  • douji8033 2017-12-19 09:25
    关注

    The previous code fails when a $date is not valid (eg. 0000-00-00), and keeps failing in all sequent applies.

    My solution is

    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);
         }
      }
    

    Settting and unsetting the bold stile kwwpd working the setFormatCode in moste fo the cases ... I do not know why.

    评论

报告相同问题?

悬赏问题

  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)