在PHPExcel中的x轴上设置dateTime?

时间:2014-09-02 07:40:33

标签: phpexcel

PHPExcel_Chart_DataSeriesValues的构造函数是:

construct   (       
$dataType = self::DATASERIES_TYPE_NUMBER,
$dataSource = null,
$formatCode = null,
$pointCount = 0,
$dataValues = array(),
$marker = null 

我尝试以这种方式插入formatCode:

$xAxisTickValues = array(
new PHPExcel_Chart_DataSeriesValues('String', 'worksheet!$A$2:$A$9', 'yyyy-mm-dd hh:mm:ss', NULL, 4));

但它不起作用?这有什么不对?

我使用PHPExcel_Chart_DataSeries :: TYPE_SCATTERCHART。

当我不使用' formatCode'我的x轴显示原始excel日期时间:41760,41761 ..,依此类推?而不是2014-05-01 00:00:00,2014-05-01 12:00:00,..,

有没有人在PHPExcel中如何在x轴上插入日期和时间?

See the problem

1 个答案:

答案 0 :(得分:2)

我在PHPExcel / Writer / Excel2007 / Chart.php第493行中找到了一个解决方案

   //$objWriter->writeAttribute('formatCode', "General");
      $objWriter->writeAttribute('formatCode', "dd/mm/yy\ hh:mm:ss;@");

将formatCode更改为" dd / mm / yy \ hh:mm:ss; @"

但为什么"将军"硬编码!?

<强>更新 在PHPExcel / Writer / Excel2007 / Chart.php中发现了另一个错误 将$ id2更改为$ id1。如果您不想要y轴标签定位问题?

if ($id1 > 0) {
                $objWriter->startElement('c:crossAx');
                    //$objWriter->writeAttribute('val', $id2);
                    $objWriter->writeAttribute('val', $id1);
                $objWriter->endElement();
相关问题