我的服务器中有一个名为Admission.xls的文件 我想在该文件中写入$ _POST数据&仅将其保存在服务器中,我不会返回给用户,但它会返回给用户
这是我的代码
<?php
// ----- begin of function library -----
// Excel begin of file header
function xlsBOF() {
echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);
return;
}
// Excel end of file footer
function xlsEOF() {
echo pack("ss", 0x0A, 0x00);
return;
}
// Function to write a Number (double) into Row, Col
function xlsWriteNumber($Row, $Col, $Value) {
echo pack("sssss", 0x203, 14, $Row, $Col, 0x0);
echo pack("d", $Value);
return;
}
// Function to write a label (text) into Row, Col
function xlsWriteLabel($Row, $Col, $Value ) {
$L = strlen($Value);
echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L);
echo $Value;
return;
}
// ----- end of function library -----
// ------ MS EXCEL START ------
header ("Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT");
header ("Cache-Control: no-cache, must-revalidate");
header ("Pragma: no-cache");
header ('Content-type: application/x-msexcel');
header ("Content-Disposition: attachment; filename=Admission.xls" );
header ("Content-Description: PHP/INTERBASE Generated Data" );
// -----LOOP $_POST VALUES -----
$row = 2;
$col = 1;
xlsBOF();
foreach($_POST as $value ) {
xlsWriteLabel($row, $col, $value );
$col++;
}
xlsEOF();
// ------ MS EXCEL END -----
?>
如果可能请告诉我如何打开,写入和保存服务器中的excel文件 谢谢你
答案 0 :(得分:0)
您可以通过捕获输出缓冲区并将其写入文件来完成此操作。
在此处阅读:http://www.php.net/manual/en/book.outcontrol.php
这是你在剧本中如何做到的。
删除这些:
header ("Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT");
header ("Cache-Control: no-cache, must-revalidate");
header ("Pragma: no-cache");
header ('Content-type: application/x-msexcel');
header ("Content-Disposition: attachment; filename=Admission.xls" );
header ("Content-Description: PHP/INTERBASE Generated Data" );
并改变你的foreach
循环代码:
// -----LOOP $_POST VALUES -----
ob_start();
$row = 2;
$col = 1;
xlsBOF();
foreach($_POST as $value ) {
xlsWriteLabel($row, $col, $value );
$col++;
}
xlsEOF();
$xlsData = ob_get_contents();
ob_end_clean();
// -----WRITE EXCEL DATA TO FILE--
$h = @fopen('Admission.xls', 'w');
if ($h) {
fwrite($h, $xlsData);
fclose($h);
}
// -----
exit('Post data written to Admission.xls on server.');
答案 1 :(得分:0)
我认为你可以使用PHPExcel,你将有很多方法来完成这项任务。