سؤال

وقد أي شخص يستخدم الكمثرى:Spreadsheet_Excel_Writer?

على التنسيق التعليمي قوائم سيناريو مشابه لما أنا أعمل مع:(قلصت إلى أسفل)

<?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();
?>

ما أعتقد أنني أفهم حتى الآن حول هذا الموضوع...
$workbook->send('test.xls'); يحدد رؤوس تصل لـ Excel نقل الملفات.الآن لا يبدو من الأخطاء الدخول ولكن الملف الذي تم تنزيله هو فارغة تماما (حتى في محرر عرافة).

لذا...
حيث (في أي صف/طريقة) ، $workbook ثنائي من المفترض أن تكون مكتوبة ؟ أو هل أنا سوء الفهم ؟

ملاحظة:أنا بصراحة لا أعرف ما هو إصدار Spreadsheet_Excel_Writer هي المستخدمة ؛ مصادر لا تشمل مثل هذه المعلومات المفيدة.
أستطيع أن أقول لك حقوق الطبع والنشر 2002-2003;لذا, في أي مكان الإصدار 0.1 0.6.

[تحرير] آسف اعتقدت أني ذكرت هذا في مكان ما..هذا هو شخص آخر السيناريو الذي تم تعييني في الإصلاح.

هل كانت مفيدة؟

المحلول

هنا بعض التعليمات البرمجية:

<?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();
?>

أعتقد بالنسبة للمبتدئين ، ورقة عمل اسم ومحاولة كتابة الملف مباشرة (دون send()).

أيضا, تأكد مع جميع وسائل الاتصال ، اختبار الاستجابة مع PEAR::isError().

نصائح أخرى

ليس من الواضح جدا, ولكن أعتقد أن ترسل الأوامر فقط يخلق رؤوس الصحيح نوع المحتوى واسم الملف.يجب أن ترسل البيانات بعد ذلك ، مع ما شابه

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

/* كود لتوليد ملف XLS */

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

إرسال() يرسل ذاكرة التخزين المؤقت-السيطرة على رؤوس نوع المحتوى رؤوس ، ولكن ليس المحتوى.المحتوى هو sendt ، كما أفهم من الرمز عند $المصنف->close() يسمى.

استخدام هذا لتحميل ورقة العمل في المتصفح الخاص بك

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

و هذه الكتابة إلى ملف.

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

تحتاج إلى اسم ورقة العمل في $worksheet =& $workbook->addWorksheet();.
التحقق من التعليمات البرمجية أدناه:

require_once 'Spreadsheet/Excel/Writer.php';

//Create a workbook
$workbook = new Spreadsheet_Excel_Writer(); //() must be empty or your downloaded file will be corrupt.

// Create a worksheet 
$worksheet =& $workbook->addWorksheet('test'); <-- You forgot to name your worksheet in your code, yours is "addWorksheet()"

// The actual data 
$worksheet->write(0, 0, 'Name'); 
$worksheet->write(0, 1, 'Age'); 
$worksheet->write(1, 0, 'John Smith'); 
$worksheet->write(1, 1, 30);
$worksheet->write(2, 0, 'Johann Schmidt');
$worksheet->write(2, 1, 31); $worksheet->write(3, 0, 'Juan Herrera');
$worksheet->write(3, 1, 32);

// send HTTP headers 
$workbook->send('prueba.xls');

// Let's send the file
$workbook->close();
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top