使用PHPExcel使用Graph消除读取和写入excel文件

时间:2013-02-07 05:35:59

标签: php phpexcel

您好我正在使用http://phpexcel.codeplex.com来读取和写入excel文件。当我阅读它并写新的数据图表时,我在excel文件中有图形。这个例子没有7即 07reader.php但更改包含从“05featuredemon.php”到“33chartcreate-bar.php”的文件 因为我需要图表

error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />');

date_default_timezone_set('Europe/London');

/** Include PHPExcel_IOFactory */
require_once '../Classes/PHPExcel/IOFactory.php';


if (!file_exists("33chartcreate-bar.xlsx")) {
exit("Please run 33chartcreate-bar.php first." . EOL);
}

echo date('H:i:s') , " Load from Excel2007 file" , EOL;
$objPHPExcel = PHPExcel_IOFactory::load("05featuredemo.xlsx");

 echo date('H:i:s') , " Write to Excel2007 format" , EOL;
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save(str_replace('.php', '.xlsx', __FILE__));
echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx',   pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL;


// Echo memory peak usage
 echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL;

// Echo done
echo date('H:i:s') , " Done writing file" , EOL;
 echo 'File has been created in ' , getcwd() , EOL;

请帮帮我

1 个答案:

答案 0 :(得分:7)

您需要明确告诉PHPExcel读取和写入图表

$objReader->setIncludeCharts(TRUE);

$objWriter->setIncludeCharts(TRUE);

如示例所示

修改

明确的喂食类型示例

//  Create a reader for an Excel2007 file
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
//  Tell the reader to include charts when it loads a file
$objReader->setIncludeCharts(TRUE);
//  Load the file
$objPHPExcel = $objReader->load("33chartcreate-bar.xlsx");


//  Do some stuff to the file


//  Create a writer for an Excel2007 file
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
//  Tell the writer to include any charts when it saves a file
$objWriter->setIncludeCharts(TRUE);
//  Save the file
$objWriter->save(str_replace('.php', '.xlsx', __FILE__));