文档章节

导出EXCEL

王向平
 王向平
发布于 2015/12/14 14:42
字数 530
阅读 24
收藏 0

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

一种
<?php
header('Content-type: application/vnd.ms-excel');
header('Content-Disposition: attachment; filename="excel.xls"');
?>
<table>
里边是内容
</table>

这种方法window office会提示有问题。并且wps和excel页面都没有border。自定义table的边框,wps显示,excel依然不显示

二种
导出csv格式文件
优点:文件是txt格式,便于大数据导出
缺点:不能合并单元格,内容有分隔符就显示出错


三种 http://blog.163.com/zhoujie_903/blog/static/3306364420077121848615/
http://stackoverflow.com/questions/20999380/php-export-to-binary-excel-file-utf-8-character-encoding
<?php
header('Content-type: application/vnd.ms-excel');
header('Content-Disposition: attachment; filename="excel.xls"');

function array_to_excel($input)
{
    $cells = '';
    foreach (array_values($input) as $lineNumber => $row)
    {
        foreach (array_values($row) as $colNumber => $data)
        {
            if (is_numeric($data))
            {
                $cells .= pack('sssssd', 0x203, 14, $lineNumber, $colNumber, 0x0, $data);
            }
            else
            {
                $data = mb_convert_encoding($data, "UTF-16LE", "UTF-8");
                $len = mb_strlen($data, "UTF-16LE");
                $cells .= pack('ssssssC', 0x204, 9+2*$len, $lineNumber, $colNumber, 0x0, $len, 0x1).$data;
           }
        }
    }
    return pack('s4', 0x809, 0x0004, 0x0600, // <- this selects BIFF8 format
                      0x10) . $cells . pack('ss', 0x0A, 0x00);
}

$table = array(
    array("权威权威权威权威权威", "阿萨d卡死了都啊实打实的了啊实打实的"),
    array("权威权威权威权威权威", "阿萨d卡死了都啊实打实的了啊实打实的"),
    array("权威权威权威权威权威", "阿萨d卡死了都啊实打实的了啊实打实的"),
    array("权威权威权威权威权威", "阿萨d卡死了都啊实打实的了啊实打实的")
);

$xls = array_to_excel($table);
echo $xls;
生成biff8格式的二进制文件。不太熟悉,但是excel就是这种格式,应该能解决合并单元格等excel问题


四种 http://pear.php.net/package/Spreadsheet_Excel_Writer/ PHPExcel
使用PHPExcel
优点:能够解决现在遇到的所有问题
缺点:数据量大导致内存不够



js导出excel
https://github.com/jmaister/excellentexport   导出的是HTML格式文件
使用data:application/excel:base64_decode。然后使用a的download属性下载。这个可以是excel也可以是csv


http://excelbuilderjs.com/  导出的是xlsx格式文件,需要运用requireJS。学习成本高,
这个是生成xml文件之后,打包文件
1,数据json,JSON.parse数据量大
2,download属性IE从12开始支持,之前都不支持
3,PHP header下载文件,也会出问题。下周继续


http://www.shieldui.com/documentation/grid/javascript/api/settings/exportOptions/excel(付费软件)

© 著作权归作者所有

王向平
粉丝 3
博文 17
码字总数 2872
作品 0
平顶山
程序员
私信 提问

暂无文章

超过了最大请求长度。

尝试在网站上上传视频时,出现错误“ 最大请求长度超出” 。 我该如何解决? #1楼 我认为这里没有提到它,但是要使其正常工作,我必须在web.config中提供以下两个值: 在system.web <httpRun...

javail
9分钟前
3
0
宝塔好用吗?

不少新手站长对服务器运维知识不擅长,不知道怎样管理好云服务器。如果有一个简单易用的面板,站长们就不需要去学习运维技巧,把这些就交给后端工程师就好。 宝塔算是目前市面上使用用户较多...

BirdCloud
15分钟前
3
0
第二代网关GateWay搭建流程

Spring Cloud第二代网关GateWay是由纯Netty开发,底层为Reactor,WebFlux构建,不依赖任何Servlet容器,它不同于Zuul,使用的是异步IO,性能较Zuul提升1.6倍。搭建过程如下(本次搭建的为子项目...

算法之名
18分钟前
10
0
Drools规则引擎详解-常用的drl实例

package droolsDemo//说明:每个 drl 都必须声明一个包名,这个包名与 Java 里面的不同,它不需要与文件夹的层次结构一致,//主要用于可以根据kmodule.xml中不同的package属性来指定加载...

蜗牛伊
21分钟前
4
0
如何在Android Studio中“选择Android SDK”?

将Eclipse-Android-Project成功导入“ Android Studio 1.4”后,出现错误 “请选择Android SDK” 当我单击该按钮以在模拟器中运行该应用程序时,但找不到任何方法。 当我单击“运行”时,此对...

技术盛宴
25分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部