PHPExcel Гистограмма с использованием PHPExcel

Я завершил свою работу, пока не получил данные таблицы SQL в Excel, но я также хочу преобразовать данные в гистограмму с помощью PHPEXCEL. У кого-нибудь есть идеи? как это сделать?
Мой код PHPEXCEL ниже,

$sql = "SELECT sum(Ticket) AS count, Applications FROM Temp_table GROUP BY Apps";
$result = $conn->query($sql);

if($result->num_rows > 0)
{
$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0);

$rownumber = 2;

$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Applications');
$objPHPExcel->getActiveSheet()->setCellValue('B1', 'Count');

while($row = $result->fetch_assoc())

{
$objPHPExcel->getActiveSheet()->setCellValue('A'.$rownumber, $row["Applications"]);
$objPHPExcel->getActiveSheet()->setCellValue('B'.$rownumber, $row["count"]);
$rownumber++;

}
$objPHPExcel->getActiveSheet()->setTitle('Sheet1');

}

0

Решение

Вот код для гистограммы

//  Set the Labels for each data series we want to plot
//    Datatype
//    Cell reference for data
//    Format Code
//    Number of datapoints in series
//    Data values
//    Data Marker
$dataSeriesLabels = array(
new PHPExcel_Chart_DataSeriesValues('String', 'Data!$D$1', NULL, 1), //  2011
);
//  Set the X-Axis Labels
//    Datatype
//    Cell reference for data
//    Format Code
//    Number of datapoints in series
//    Data values
//    Data Marker
$xAxisTickValues = array(
new PHPExcel_Chart_DataSeriesValues('String', 'Data!$A$2:$A$5', NULL, 6),  //  Q1 to Q4
);
//  Set the Data values for each data series we want to plot
//    Datatype
//    Cell reference for data
//    Format Code
//    Number of datapoints in series
//    Data values
//    Data Marker
$dataSeriesValues = array(

new PHPExcel_Chart_DataSeriesValues('Number', 'Data!$D$2:$D$5', NULL, 6),

);
//  Build the dataseries
$series = new PHPExcel_Chart_DataSeries(
PHPExcel_Chart_DataSeries::TYPE_BARCHART,   // plotType
PHPExcel_Chart_DataSeries::GROUPING_CLUSTERED,  // plotGrouping
range(0, count($dataSeriesValues)-1),     // plotOrder
$dataSeriesLabels,                // plotLabel
$xAxisTickValues,               // plotCategory
$dataSeriesValues               // plotValues
);
//  Set additional dataseries parameters

//  Set the series in the plot area
$plotArea = new PHPExcel_Chart_PlotArea(NULL, array($series));
//  Set the chart legend
$legend = new PHPExcel_Chart_Legend(PHPExcel_Chart_Legend::POSITION_RIGHT, NULL, false);
$title = new PHPExcel_Chart_Title('Topic Relevance');
$yAxisLabel = new PHPExcel_Chart_Title('Points');
//  Create the chart
$chart = new PHPExcel_Chart(
'chart1',   // name
$title,     // title
$legend,    // legend
$plotArea,    // plotArea
true,     // plotVisibleOnly
0,        // displayBlanksAs
NULL,     // xAxisLabel
$yAxisLabel   // yAxisLabel
);
//  Set the position where the chart should appear in the worksheet
$chart->setTopLeftPosition('B10');
$chart->setBottomRightPosition('F25');
//  Add the chart to the worksheet
$objWorksheet->addChart($chart);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
//this line is necessary to display chart in excel
$objWriter->setIncludeCharts(TRUE);
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]