2012-11-07 87 views
0

我想將Excel 2007工作簿中的工作表導出到csv並將csv保存爲工作表名稱。我不斷收到此錯誤:將工作簿中的工作表導出到phpexcel中的csv

"Object of class PHPExcel_Worksheet could not be converted to string in" 

這裏是我的代碼:

require_once '../Classes/PHPExcel/IOFactory.php'; 
$objReader = PHPExcel_IOFactory::createReader('Excel2007'); 
$objReader->setReadDataOnly(false); 
//$xlsxfiles=$_SESSION['file']; 
//echo $xlsxfiles; 
$objPHPExcel = $objReader->load('../upload/Demobook.xlsx'); 
$num=$objPHPExcel->getSheetCount() ; 
$sheetnames=$objPHPExcel->getSheetNames() ; 
$objWorksheet = $objPHPExcel->getActiveSheet(); 
$highestRow = $objWorksheet->getHighestRow(); // e.g. 10 
$objWriter = new PHPExcel_Writer_CSV($objPHPExcel); 
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) 
{ 
    $worksheet->getTitle(); 
    $objWriter->setDelimiter(','); 
    $objWriter->setEnclosure(''); 
    $objWriter->setLineEnding("\r\n"); 
} 
$objWriter->save("../"."CSV"."/".$worksheet.".".'csv'); 

回答

0

你的問題是

$objWriter->save("../"."CSV"."/".$worksheet.".".'csv'); 

你處理工作表對象作爲字符串,當它不是一個字符串,但工作表對象。 您是不是要找

$objWriter->save("../"."CSV"."/".$worksheet->getTitle().".".'csv'); 

你爲什麼要通過所有工作表設置作家分隔符,外殼等循環;但在循環之外執行保存?這真的有點毫無意義。調用$ worksheet-> getTitle();在你的循環中也做不了太多。

相關問題