2015-01-22 3 views
0

У меня большая проблема, мне нужно создать excel с диаграммой, но при выполнении функции создайте excel, но не рисуем диаграмму.создает excel, но не рисует диаграмму, phpexcel и codeigniter

функция

function excel_get(){ 
     $this->load->library('Classes/PHPExcel'); 
     $this->phpexcel->getActiveSheet()->setTitle('Nombre de la hoja'); 

     $this->phpexcel->getActiveSheet()->fromArray(
     array(
      array('', 2010, 2011, 2012), 
      array('Q1', 12, 15,  21), 
      array('Q2', 56, 73,  86), 
      array('Q3', 52, 61,  69), 
      array('Q4', 30, 32,  0) 
     ) 
    ); 

     $dataseriesLabels = array(
     new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$B$1', NULL, 1), 
     new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$C$1', NULL, 1), 
     new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$D$1', NULL, 1) 
    ); 

     $xAxisTickValues = array(
     new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$A$2:$A$5', NULL, 4) 
    ); 

     $dataSeriesValues = array(
     new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$B$2:$B$5', NULL, 4), 
     new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$C$2:$C$5', NULL, 4), 
     new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$D$2:$D$5', NULL, 4) 
    ); 

     $series = new PHPExcel_Chart_DataSeries(
     PHPExcel_Chart_DataSeries::TYPE_BARCHART,  
     PHPExcel_Chart_DataSeries::GROUPING_STANDARD, 
     range(0, count($dataSeriesValues)-1),   
     $dataseriesLabels,       
     $xAxisTickValues,        
     $dataSeriesValues       
    ); 

     $series->setPlotDirection(PHPExcel_Chart_DataSeries::DIRECTION_COL); 

     $plotarea = new PHPExcel_Chart_PlotArea(NULL, array($series)); 

     $legend = new PHPExcel_Chart_Legend(PHPExcel_Chart_Legend::POSITION_RIGHT, NULL,false); 
     $title = new PHPExcel_Chart_Title('Test Column Chart'); 
     $yAxisLabel = new PHPExcel_Chart_Title('Value qwerty'); 

     //Create the chart 
     $chart = new PHPExcel_Chart(
     'chart1',   
     $title,    
     $legend,   
     $plotarea,   
     true,   
     0,    
     NULL,   
     $yAxisLabel  
    ); 

     $this->phpexcel->getActiveSheet()->addChart($chart); 

     $writer = new PHPExcel_Writer_Excel5($this->phpexcel); 
     header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); 
     header('Content-type: application/vnd.ms-excel'); 
     header('Content-Disposition: attachment; filename="newFile.xls"'); 
     header('Cache-Control: max-age=0'); 

     $writer->setIncludeCharts(TRUE); 
     $writer->save('php://output'); 
    } 

PD: таблица генерируется правильно.

Помогите мне, пожалуйста.

ответ

0

Графики доступны только с Excel2007 чтения/записи для OfficeOpenXML (.xlsx) файлы формата

+0

я изменяю .xlsx, но такое же PD: мой код это ..... $ писатель = новый PHPExcel_Writer_Excel2007 ($ this-> PHPExcel); header ('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); $ writer-> setIncludeCharts (TRUE); $ writer-> save ('php: // output'); –

0

я извиняюсь, я просто обнаружил, что всегда работает, но график очень очень очень очень мало в углу верхней -Лифт, и я его не видел.

Теперь моя проблема - показать график с минимальной шириной и высотой.

Смежные вопросы