简体   繁体   中英

Graph disapear read and write excel file using PHPExcel

Hi I am using http://phpexcel.codeplex.com for read and write of excel file. I have graph in excel file when i read it and write new data graph disapear. This the example no 7 ie 07reader.php but change include file from "05featuredemon.php" to "33chartcreate-bar.php" because i need graph

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;

please help me

You need to explicitly tell PHPExcel to read and to write charts

$objReader->setIncludeCharts(TRUE);

and

$objWriter->setIncludeCharts(TRUE);

as shown in the examples

EDIT

Explicit spoonfeeding type example

//  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__));

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM