我想創建一個應用程序,將解析項目的CSV文件,併爲CSV文件中的每個項目做特定的事情。我有上傳/解析,但是,當我將其導出到Excel時,每個CSV條目都在工作表中複製。例如,如果CSV文件中有4個條目,則第一個條目將被複制4次,第二個條目將被複制3次,等等。我已經查看了幾天的文檔,並且我無法找到我要出錯的位置。以下是生成XLSX文件的代碼。PHPExcel - >創建重複的工作表
if (in_array($type,$csv_types)){
if (move_uploaded_file($tmp_name, $path)){
foreach ($csv as $locar){
foreach ($locar as $locid){
$locs[] = $locid;
$count = count($locs);
/*if ($i < $count - 1){
$objPHPExcel->createSheet();
$i++;
}*/
$xmls = array();
foreach ($locs as $locids){
$url = 'Link to XML API' . $locids;
$xmls[] = $url;
$objWorkSheet = $objPHPExcel->createSheet();
$objWorkSheet->setTitle($locids);
$objPHPExcel->setActiveSheetIndexByName($locids);
}
foreach ($xmls as $links){
$locations = explode("=", $links);
$row = 1;
//
$objPHPExcel->getActiveSheet()->setCellValue('A'.$row,'Location ID:' . $locations[1]);
$row++;
$objPHPExcel->getActiveSheet()->SetCellValue('A'.$row,'Database');
$objPHPExcel->getActiveSheet()->SetCellValue('B'.$row,'URL');
$row++;
$xml = simplexml_load_file($links);
foreach ($xml as $product){
foreach ($product->title as $item){
$dbtitle = str_replace(',',' ',$item);
$dblink = $product->link;
}
$objPHPExcel->setActiveSheetIndexByName($locations[1]);
$objPHPExcel->getActiveSheet()->SetCellValue('A'.$row,$dbtitle);
$objPHPExcel->getActiveSheet()->SetCellValue('B'.$row,$dblink);
$row++;
}
}
}
}
}
由代碼生成的鏈接僅顯示在正確的工作表(第一個爲csv中的條目創建的工作表)中。任何幫助將不勝感激。
你必須從所有的foreach循環重複護理 – rubberchicken 2014-10-20 19:59:05
來闡述你的想法我可以解決它嗎? – 2014-10-22 04:26:59
你可以在http://pastebin.com/發佈更多的代碼...我需要更多的信息。 – rubberchicken 2014-10-22 13:49:17