问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

php 导出csv时如何设置属性,合并单元格之类的。。

发布网友 发布时间:2022-04-06 03:46

我来回答

1个回答

热心网友 时间:2022-04-06 05:15

CSV文件本身就是不带格式符号的纯文字,无法直接在PHP中控制单元格合并这样的事情,我觉得你可以用html代码生成execl能直接读的文档比较好

$result = mysql_query("select * from student order by id asc"); 
$str = "<tr><td>姓名</td><td>性别</td><td>年龄</td></tr>\n"; 
$str = iconv('utf-8','gb2312',$str); 
while($row=mysql_fetch_array($result)){ 
    $name = iconv('utf-8','gb2312',$row['name']);
    $sex = iconv('utf-8','gb2312',$row['sex']); 
    //要控制合并啥的,在下边修改即可
    $str .="<tr><td>".$name."</td><td>".$sex."</td><td>".$row['age']."</td></tr>";
}

$filename = date('Ymd').'.xls';
export_xls($filename,$str);


function export_xls($filename,$string){
    //可以修改样式,控制字号、字体、表格线、对齐方式、表格宽度、单元格padding等,在下边的<style></style>
    $header="<html xmlns:o=\"urn:schemas-microsoft-com:office:office\"\nxmlns:x=\"urn:schemas-microsoft-com:office:excel\"\nxmlns=\"http://www.w3.org/TR/REC-html40\">\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html>\n<head>\n<meta http-equiv=\"Content-type\" content=\"text/html;charset=GBK\" />\n<style>\ntd{padding:4px;mso-ignore:padding;color:windowtext;font-size:10.0pt;font-weight:400;font-style:normal;text-decoration:none;font-family:Arial;mso-generic-font-family:auto;mso-font-charset:134;mso-number-format:General;text-align:general;vertical-align:middle;border:.5pt solid windowtext;mso-background-source:auto;mso-pattern:auto;mso-protection:locked visible;white-space:nowrap;mso-rotate:0;}\n</style>\n</head><body>\n<table x:str border=0 cellpadding=0 cellspacing=0 width=100% style=\"border-collapse: collapse\">";
    $footer="</table>\n</body></html>";
    $exportString=$header.$string.$footer;

    header("Cache-Control:public");
    header("Pragma:public");
    header("Content-type: Content-type:application/vnd.ms-excel");
    header("Accept-Ranges: bytes");
    header("Content-Disposition:attachment; filename=".$filename);
    header("Content-length:".strlen($exportString));
    echo $exportString;
    exit;
}

追问导出时把html代码被当成文本给导出来了啊

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
在公交车上实施扒窃,会受到怎样的处罚? 交通违法行为识别 公交车扒窃会如何处罚? 郑州鱼缸清洗找哪家公司做得比较好? 郑州有没有专业维修鱼缸,清洗鱼缸的? ...的鱼缸,放在办公室养些鱼水草之类的。郑州哪里有卖这样的鱼缸。_百... 我们公司想要定做个观赏鱼缸,不知道郑州哪家公司最专业? 谁知道郑州生态鱼缸定做哪家做的效果最好? 联想电脑启用无线功能的功能键? 笔记本电脑怎么连接网笔记本电脑怎样连接无线网 PHP操作CSV文件的问题,请教大家! PHP操作CSV文件的编码问题 php导出csv文件大小怎么去除限制 怎样创建/修改CSV文件 CSV怎么批量修改数据,PHP操作 三种办法,1,PHP 如何处理上传的CSV文件 通过IP段限制网页访问PHP代码 同一网段内怎么设置让某一段ip地址不能访问其他ip段? 如何限制某ip段不能访问网站 如何限制php文件只能被服务器本地ip访问 PHP屏蔽指定地区访问 PHP将整数数字转换为罗马数字实例分享 php将int拆分成数组 php怎么将int强行转换字符串类型? 如何在新浪云sae上安装部署laravel5.1应用并测试数据库连接 如何使用Ajax使用jQuery在Laravel 4 laravel 框架中试图中怎样用if标签 为什么 Laravel 5 这么好一个框架国内开发 laravel框架中需要repository层吗,怎么用 php Apache伪静态规则怎么写? PHP导出数据到CSV 如何排版 php 如何从数据里选择所需要信息然后生成csv文件自动保存在指定的路径?(不提示保存,自动) php导入csv文件输出是乱码,怎么解决 php 写入数据到csv中,不覆盖原有数据,以新增行插入如何实现? php标准时间如何转化成时间戳 跪求PHP的时间转换为时间戳的代码 php中文时间转换为时间戳 PHP中如何将时间转化时间戳? php时间格式转换 php 汉字时间转换成时间戳 电脑开机显示oxc000000f错误代码如何解决 win7开机提示0x000000f的原因和解决方法分别是什么? lenovothinkpad出现错误代码0x000000f,然后一直开不了机 电脑出现错误代码0xc000000f 怎么解决? 哦,对了文件名是werkernel.sys epic永劫无间安装不了卡35了 epic安装失败.1603.按照网上的代码方法不行,安装部安卓失败时,会把客户端给删掉怎么解决? epic白屏该怎么办,重启重安装都没用 如何利用PHP时间戳获取当前时间 PHP怎么实现整除 PHP计算百分比的公式函数,如何把数值装进计算