Home  >  Article  >  php教程  >  PHP Smarty生成EXCEL文档的代码

PHP Smarty生成EXCEL文档的代码

WBOY
WBOYOriginal
2016-06-13 12:27:461100browse

不过,跟据我的试验,如果你不删除一个地方,生成的文档用 excel 打开,是会报错的!

删除所有像这样的串: ss:ExpandedColumnCount="5" 就行了!

示例:

随便填点数据,然后提交,会生成一份 xls 文件。

还有一个小问题没有找出来,这个模板,只能有两笔数据,多了也不行,晕,还没有找到要修改哪里呢。

另外,我开始是把 formValidate.php 和 report.php合在一起写的,结果是没有结果!
分开写,就有结果了!

report.php

复制代码 代码如下:


include '../common.inc.php';

$token = $_POST['token'];

if(GToken::isToken($token,'REPORT')){
$names = $_POST['name'];
$birthdays = $_POST['birthday'];
$phones = $_POST['phone'];
$sexs = $_POST['sex'];
$emails = $_POST['email'];
$scoreAs = $_POST['scoreA'];
$scoreBs = $_POST['scoreB'];
$scoreCs = $_POST['scoreC'];

$list = array();
$score = array();

for($i=0;$i$arr = array(
'name' => $names[$i],
'sexs' => $sexs[$i],
'birthday' => $birthdays[$i],
'email' => $emails[$i],
'phone' => $phones[$i]
);
array_push($list,$arr);
unset($arr);

$arr = array(
'name' => $names[$i],
'scoreA' => $scoreAs[$i],
'scoreB' => $scoreBs[$i],
'scoreC' => $scoreCs[$i]
);
array_push($score,$arr);
unset($arr);
}

include '../lib/smarty/Smarty.class.php';
$gmt = GSmarty::getInstance('test');
$gmt->assign_by_ref("list",$list);
$gmt->assign_by_ref('score',$score);

header("Cache-Control: public");
header('content-type:application/vnd.ms-excel');
header("Content-Disposition:attachment; filename=report.xls");
$gmt->display('report');
}
?>


header("Cache-Control: public");
这一定要加,不然的话,在IE下会发生错误。
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn