即时通讯使用这几行转换一个xlsx,其中包含4sheets转换为.csv。但它只转换xlsx文件的第一张。我怎么能使它转换每一张xlsx。继承人的代码,PHPExcel将多个xlsx转换为csv
error_reporting(E_ALL);
date_default_timezone_set($this->vendor_timezone);
/** PHPExcel_IOFactory */
require_once sfConfig::get('sf_root_dir').'/lib/PHPExcel/IOFactory.php';
$file=sfConfig::get("sf_upload_dir").DIRECTORY_SEPARATOR."temp".DIRECTORY_SEPARATOR."1344500254_MyExcel.xlsx";
// Check prerequisites
//print sfConfig::get("sf_upload_dir").DIRECTORY_SEPARATOR."temp".DIRECTORY_SEPARATOR; exit;
if (!file_exists($file)) {
exit($file."Please run 06largescale.php first.\n");
}
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objPHPExcel = $objReader->load($file);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'CSV');
$objWriter->save(str_replace('.xlsx', '.csv',$file));
return "success";
哦,那就是为什么。太糟糕了。在使用
转换之前,我已经指定了该工作表。非常感谢! – 2012-08-13 04:00:51只是要清楚,没有办法写入单个CSV,但如果您查看我的答案,则可以轻松地将每个工作表写入不同的CSV文件。 – 2015-06-18 01:28:05