如何不使用第三方类库用thinkphp导出Excel文件

2023-02-21    分类: 网站建设

PHPExcel

学习tp3的程序员都知道,php导出excel文件只要通过第三方类库PHPExcel即可实现,而且简单方便,代码如下图所示:
但有时因为是无法设置各个字段的宽度,有时会很多显示的问题,所以我下面讲的是用自己的方法生成的excel文件,它的原理跟生成纯静态页面是一样的,就是把html的文件换成excel文件而已,直接看下面代码:
静态页面:Excel.html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta http-equiv="x-ua-compatible" content="IE=edge, chrome=1">
<meta name="renderer" content="webkit">
<title></title>
<style type="text/css">
.table_list{border-collapse:collapse;margin:0px auto;margin-top:10px; background-color:#FFF;}
.table_list th {padding:15px 0;line-height:3;}
.table_list td{line-height:40px; height:40px;padding:10px 5px;text-align:center;}
.table_list thead td{text-align:center; height:40px; background-color:#eee;font-weight:bold;word-break:break-all;}
.table_list tfoot td{background-color:#ececec;text-align:center;}
</style>
</head>
<div class="list">
<table class="table_list" border="1"><thead><tr><th>姓名</th><th>等级</th><th>备注</th></tr></thead><tbody>
<foreach name="list" item="item" key="i">
<tr >
<td class="am-text-middle">{$item.realname}</td>
<td class="am-text-middle">{$item.level}</td>
<td class="am-text-middle">{$item.detail}</td>
</tr>
</foreach>
</tbody>
</table></div>
</body></html>
控制器(节选):
function excel(){
$this->assign('list', $lists); // 赋值数据集
$content = $this->fetch('excel');
$filename = "excel/member_".date('Ymdhis').rand(10000).".xls";//导出的文件名称
$handle=fopen($filename,"w");//不存在这个文件就创建;
fwrite($handle,$content);//将excel.html内容写到文件里
$file = fopen($filename,"r"); // 打开文件
// 输入文件标签
Header("Content-type: application/octet-stream");
Header("Accept-Ranges: bytes");
Header("Accept-Length: ".filesize($filename));
Header("Content-Disposition: attachment; filename=" . $filename);// 输出文件内容
echo fread($file,filesize($file_dir . $filename)); //保存内容,并打开或下载文件
fclose($file);
exit();
}
PHP
全部代码如下所示:
导出
导出的文件打开后如下图所示:

文章题目:如何不使用第三方类库用thinkphp导出Excel文件
URL标题:https://www.cdcxhl.com/news2/238552.html

成都网站建设公司_创新互联,为您提供品牌网站制作响应式网站企业网站制作定制开发网站改版网站收录

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

外贸网站建设