PHP PEAR Spreadsheet_Excel_Writer boş bir dosya gönderme

3 Cevap php

Herkes kullanılan Has Pear: Spreadsheet_Excel_Writer?

Formatting Tutorial Ben çalışıyorum ne benzer bir komut dosyası listeler: (aşağı kesilmiş)

<?php
require_once 'Spreadsheet/Excel/Writer.php';
$workbook = new Spreadsheet_Excel_Writer();

$worksheet =& $workbook->addWorksheet();
$worksheet->write(0, 0, "Quarterly Profits for Dotcom.Com");

$workbook->send('test.xls');
$workbook->close();
?>

What I think I understand so far about it...
$workbook->send('test.xls'); sets the headers up for Excel file transfer. Now, no errors seem to come up, but the file downloaded is entirely empty (even in a hex editor).

So...
Where (in what class/method) is the $workbook binary supposed to be written? Or, am I misunderstanding it all?

Note: I honestly don't know what version of Spreadsheet_Excel_Writer is being used; the sources don't include such useful information.
I can tell you the copyright is 2002-2003; so, anywhere from version 0.1 to 0.6.

[Edit] Üzgünüm, bu bir yere sözü düşündüm .. Bu benim düzeltmek için atanmış oldum başkasının betik.

3 Cevap

İşte bazı örnek kod:

<?php
require_once 'Spreadsheet/Excel/Writer.php';
$workbook = new Spreadsheet_Excel_Writer('test.xls');
$worksheet =& $workbook->addWorksheet('My first worksheet');
if (PEAR::isError($worksheet)) {
    die($worksheet->getMessage());
}
$workbook->close();
?>

Yeni başlayanlar için, çalışma sayfanızda bir isim verin ve (send()) olmadan doğrudan bir dosya yazmaya çalışın düşünüyorum.

Ayrıca, PEAR::isError() ile cevabı test, çağrı tüm yöntemler ile emin olun.

Bu çok net değil, ama ben gönderme komutu yalnızca doğru içerik türü ve dosya adı ile başlıkları yaratır düşünüyorum. Sen bir şey lik ile, daha sonra veri göndermek zorunda

$tmpDocument = '/path/to/tmp/file.xls';
$workbook = new Spreadsheet_Excel_Writer($tmpDocument);   

/ * XLS dosyasını oluşturmak için kod * /

$workbook->close();
$workbook->send('Report.xls');
readfile($tmpDocument);

Lütfen Browser sayfasını indirmek için bunu kullanın

$workbook = new Spreadsheet_Excel_Writer(); // <-- leave parantheses empty
$workbook->send($DownloadFileName);
// Your fancy spreadsheet generating code
$workbook->close();

ve bu bir dosyaya yazmak için.

$workbook = new Spreadsheet_Excel_Writer($SaveFileName);
// Your fancy spreadsheet generating code
$workbook->close();