2014-09-02 93 views
0

PHPExcel_Chart_DataSeriesValues的构造是:在PHPExcel的x轴上设置dateTime?

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

我找到了解决方案通过使黑客在PHPExcel /作家/ Excel2007的/ Chart.php线493

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

更改formatCode为“DD/MM/YY \ HH:MM :@“

但为什么”General“是硬编码的!

UPDATE: 发现在PHPExcel /作家/ Excel2007中/ Chart.php 更改$ ID2另一个bug至$ ID1。如果你不想要Y轴标签定位问题?

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