1

您好我正在使用 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;

请帮我

4

1 回答 1

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__));
于 2013-02-07T07:26:09.603 回答