0

Excel 2007 ワークブックのワークシートを csv にエクスポートし、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');
4

1 に答える 1

0

あなたの問題は

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

文字列ではなくワークシート オブジェクトの場合、ワークシート オブジェクトを文字列として扱っています。もしかして

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

ライター区切り文字、エンクロージャーなどを設定するすべてのワークシートをループするのはなぜですか。しかし、ループの外で保存を実行しますか? それは本当に少し無意味です。$worksheet->getTitle(); の呼び出し あなたのループでもあまり機能しません。

于 2012-11-07T21:56:34.047 に答える