2010-06-29 35 views
4

我知道這不是問這個具體模糊問題的正確位置,但也許有人知道這個庫足以啓發我。這是事情:由PHPExcel編寫的行無法從其他庫中讀取

我正在使用PHPExcel寫一個Excel5在現有的Excel文件上。我需要將該Excel上傳到Zoom網站,以便它可以提供跟蹤號碼列表。但是,由於某些原因,他們用於讀取上傳的Excel文件的庫無法讀取PHPExcel寫入的行,迄今爲止我發現的唯一解決方案是使用MS Excel將我動態生成的Excel的內容手動複製到另一個文檔2007.

換句話說,Zoom網站可以讀取Excel本地編寫的行,但不能讀取PHPExcel編寫的行。我的文件只有一個表格,我可以用Excel 2007打開它。

即使我手動將一些行添加到模板中,然後使用PHPExcel添加更多行,Zoom將讀取我手動寫入的行,但不是由PHPExcel寫的行。

這是我正在做它:

// Starting with the PHPExcel library 
$this->load->library('PHPExcel'); 
$this->load->library('PHPExcel/IOFactory'); 
$template_file = 'zoom_tracking_template.xls'; 
$i = 3; 

$objReader = IOFactory::createReader('Excel5'); 
$objPHPExcel = $objReader->load($template_file); 
$objPHPExcel->setActiveSheetIndex(0); 

// Fetching ML payments 
foreach($payments as $row) 
{ 
$objPHPExcel->getActiveSheet()->setCellValue('A'.$i, 'VANESSA NEISZER'); 
$objPHPExcel->getActiveSheet()->setCellValue('B'.$i, '02127616116'); 
$objPHPExcel->getActiveSheet()->setCellValue('C'.$i, '1ER PISO MINITIENDAS 199 BLVD SABANA GRANDE, CRUCE C/CALLE NEGRIN'); 
$objPHPExcel->getActiveSheet()->setCellValue('D'.$i, $row->mailing_city); 
$objPHPExcel->getActiveSheet()->setCellValue('E'.$i, $row->mailing_name); 
$objPHPExcel->getActiveSheet()->setCellValue('F'.$i, $row->mailing_name); 
$objPHPExcel->getActiveSheet()->setCellValue('G'.$i, $row->mailing_personal_id); 
$objPHPExcel->getActiveSheet()->setCellValue('H'.$i, $row->mailing_phone); 
$objPHPExcel->getActiveSheet()->setCellValue('I'.$i, $row->mailing_address1.' '.$row->mailing_address2); 
$objPHPExcel->getActiveSheet()->setCellValue('J'.$i, $row->nickname); 
$objPHPExcel->getActiveSheet()->setCellValue('K'.$i, '1'); 
$objPHPExcel->getActiveSheet()->setCellValue('L'.$i, '0.3'); 
$objPHPExcel->getActiveSheet()->setCellValue('M'.$i, 'M'); 
$objPHPExcel->getActiveSheet()->setCellValue('N'.$i, 'PRODUCTO'); 
$objPHPExcel->getActiveSheet()->setCellValue('O'.$i, '0'); 

$i++; 
} 


$objPHPExcel->setActiveSheetIndex(0); 

$objWriter = IOFactory::createWriter($objPHPExcel, 'Excel5'); 

// Sending headers to force the user to download the file 
header('Content-Type: application/vnd.ms-excel'); 
header('Content-Disposition: attachment;filename="Envios'.date('dMy').'.xls"'); 
header('Cache-Control: max-age=0'); 

$objWriter->save('php://output'); 

我沒有什麼PHP庫,他們正在使用,以讀取Excel文件的線索,我敢肯定他們不會告訴我,如果我問他們。我知道他們使用PHP,他們的庫只讀取Excel 2003文件,但是,我不知道他們爲什麼不能讀取我的文件,但他們可以讀取MS Excel上手動編寫的其他文件。

我可以嘗試的任何線索,想法或建議將不勝感激。

回答

2

PHPExcel的主要開發人員正在研究這個問題(其中包括),嘗試尋找新的日常工作和生活。我不熟悉縮放網站或他們使用的軟件。 PHPExcel BIFF8文件可以被Excel,OOCalc和Gnumeric讀取而不會出錯...但是有幾個問題值得思考。

  • 什麼版本的PHPExcel?
  • 是否有任何數據包含UTF-8字符?
  • 模板工作表中是否有公式?
  • 如果是這樣,它們是什麼?
+0

什麼PHPExcel ?: PHPExcel 1.7.3c生產的版本 - 是否有數據包含UTF-8字符?:是啊,他們來UTF-8從數據庫編碼,它們被插入在Excel中不變。 - 模板工作表中是否有任何公式?:完全不是,它是帶有某種顏色的基本標題,就是這樣。只是純文本。 – 2010-06-29 23:34:36