Php 电子表格\u Excel\u书写器获取文件内容

Php 电子表格\u Excel\u书写器获取文件内容,php,spreadsheet-excel-writer,Php,Spreadsheet Excel Writer,我需要通过PHP将XLS文件附加到电子邮件。 问题是-Spreadsheet\u Excel\u Writer向浏览器发送HTTP头,然后发送内容Spreadsheet\u Excel\u WriterAPI没有任何像get\u content这样的函数直接成为文件内容。我不想先保存文件,我只想跳过这一步,将内容直接保存为附件。 有什么想法吗 Thx很多。电子表格\u Excel\u Writer中没有“写入文件”方法。最多可以使用->send()方法将其直接发送到客户端。这意味着您可以使用PH

我需要通过PHP将XLS文件附加到电子邮件。 问题是-
Spreadsheet\u Excel\u Writer
向浏览器发送HTTP头,然后发送内容
Spreadsheet\u Excel\u Writer
API没有任何像
get\u content
这样的函数直接成为文件内容。我不想先保存文件,我只想跳过这一步,将内容直接保存为附件。 有什么想法吗

Thx很多。

电子表格\u Excel\u Writer中没有“写入文件”方法。最多可以使用
->send()
方法将其直接发送到客户端。这意味着您可以使用PHP捕获输出,并将数据作为字符串抓取,然后将其插入电子邮件中(例如,通过PHPMailer的
->AddStringAttachment()

您可能需要调查切换到,因为电子表格Excel书写器基本上已经死在水中,除了一些小的错误修复。PHPExcel支持Excel2007,而S_E__W则停留在Excel5.0(90年代早期)上。它还有一个
->save()
方法来写入文件

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(); 需要一次“电子表格/Excel/Writer.php”; ob_start(); $workbook=新的电子表格\u Excel\u Writer(); $工作簿->设置版本(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();
尽管OP不想先保存文件,但我一直在寻找一种内联输出的方法,而不是使用
::send
方法进行附件输出

PEAR
Spreadsheet\u Excel\u Writer
0.1
0.9.4
构造函数支持
$filename
参数。 及

提供时,对实例化对象调用
电子表格\u Excel\u Writer::close
方法,将生成的电子表格输出到指定路径

$workbook = new Spreadsheet_Excel_Writer('/path/to/output/file.xls');
//...
$workbook->close();

$data = file_get_contents('/path/to/output/file.xls'); 
//or file_get_contents($workbook->_filename);
unlink('/path/to/output/file.xls');

我用PEAR-Spreadsheet\u Excel\u Writer-0.9.3生成的文件处于只读模式,有什么办法解决吗?