Atitit.导出excel功能的设计 与解决方案

 

 

 

 

Atitit.导出excel功能的设计 与解决方案

 

 

1.1. 项目起源于背景1

1.2. Js  jquery方案(推荐)jquery.table2excel1

1.3. 服务器方案2

1.4. 详细信息2

1.5. 参考4

 

 

1.1. 项目起源于背景

正好我们项目也正好在研究更快速的导出excel的方法。。昨天终于有了结论。。除了我们常用的后端导出excel,前端js导出excel效果也不错,估计可以覆盖90%的领域。。。所以更好的导出方案就是 js导出(90%+后端语言导出(10%),取长补短,结合使用

 

1.2. Js  jquery方案(推荐)jquery.table2excel

优点是快速简单实现,将逻辑前移,带来更加强大的跨平台性跨后端语言。。而且生成的内容是真正xlsx excel格式的(zip 压缩的xml格式)。

一般对于一千条以内的很合适

 

 

一款基于jquery.table2excel插件实现的可以根据你的需要导出表格中的内容,不需要的行可以不导出。需要此款代码的朋友们可以前来下载使用。本段代码兼容目前最新的各类主流浏览器

 

使用table2excel表格插件需要在页面中引入jquery和jquery.table2excel.js文件。

<script type="text/javascript" src="js/jquery.min.js"></script><script type="text/javascript" src="js/jquery.table2excel.js"></script>

 

原理::使用遍历表格,生成二进制excel字节组,然后使用h5 api  ArrayBuffer blob触发浏览器执行下载动作

 

作者::  ★(attilax)>>>   绰号:老哇的爪子  全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊  汉字名:艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://www.cnblogs.com/attilax/

 

1.3. 服务器方案

优点是性能,特别对于超过一千条的记录

 

1.4. 详细信息

 

如果表格中的某一行不需要导出到Excel中,可以为这一行添加.noExl class类,该class类会在插件初始化时通过参数被指定为不被导出的数据。

初始化插件

在页面DOM元素加载中完毕之后,可以通过下面的方法来初始化table2excel插件。

$("#table2excel").table2excel({

  // 不被导出的表格行的CSS class

  exclude: ".noExl",

  // 导出的Excel文档的名称

  name: "Excel Document Name",

  // Excel文件的名称

  filename: "myExcelTable"

});

配置参数

table2excel插件的可用配置参数有:

· 

exclude:不被导出的表格行的CSS class类。

· 

· 

name:导出的Excel文档的名称。

· 

· 

filename:Excel文件的名称。

· 

· 

exclude_img:是否导出图片。

· 

· 

exclude_links:是否导出超链接

· 

· 

exclude_inputs:是否导出输入框中的内容。

· 

 

 

 

1.5. 参考

table2excel-HTML表格内容导出到Excel- 推酷.html

Export Html Table To Excel Spreadsheet using jQuery - table2excel _ Free jQuery Plugins.html

JavaScript中的ArrayBuffer详细介绍_javascript技巧_脚本之家.htm

Web js 导出csv文件(使用a标签) - oscar999的专栏 - 博客频道 - CSDN.NET.html

[JS进阶] JS Blob 对象类型 - oscar999的专栏 - 博客频道 - CSDN.NET.html

 

posted @ 2016-05-23 23:16  attilaxAti  阅读(589)  评论(0编辑  收藏  举报