2010-07-31 144 views
0

我需要通過PHP將XLS文件附加到電子郵件。 問題是 - Spreadsheet_Excel_Writer發送一個HTTP頭到瀏覽器然後內容。 Spreadsheet_Excel_Writer API沒有任何功能,如get_content直接成爲文件內容。我不想先保存文件,我只想跳過這一步,直接將內容另存爲附件。 任何想法?Spreadsheet_Excel_Writer獲取文件內容

Thx很多。

回答

4

Spreadsheet_Excel_Writer中沒有「寫入文件」方法。您最多可以使用->send()方法直接發送給客戶。這意味着您可以使用PHP的output buffering捕獲輸出,並將數據作爲字符串獲取,然後將其插入到電子郵件中(例如,通過PHPMailer的->AddStringAttachment())。

您可能想要調查切換到PHPExcel,因爲Spreadsheet_Excel_Writer實質上已經死在水中,減去了一些小錯誤修正。 PHPExcel支持Excel 2007,而S_E_W則停留在Excel 5.0(90年代初)。它還有一個->save()方法來寫入文件。

+0

我用PEAR-Spreadsheet_Excel_Writer-0.9.3生成的文件是處於只讀模式,解決它的任何想法? – Hytool 2016-09-01 09:32:55

3
 
require_once 'Spreadsheet/Excel/Writer.php'; 

ob_start(); 

$workbook = new Spreadsheet_Excel_Writer(); 
$workbook->setVersion(8, 'utf-8'); 
$worksheet =& $workbook->addWorksheet('sheet 1'); 
$worksheet->setInputEncoding('utf-8'); 

$worksheet->write(0, 0, 'test'); 
$worksheet->write(1, 0, 'test2'); 

$workbook->close(); 

$sXls = ob_get_contents(); 

ob_end_clean();