EasyUI 如何结合JS导出Excel文件

时间:2022-05-22 08:25:12

出处:http://blog.csdn.net/jumtre/article/details/41119991

分类: 技术 Javascript jQuery EasyUI Asp.Net2014-11-14 16:05 701人阅读 评论(0) 收藏 举报

废话俺就少说了,直接进入正题!!单纯的JS能够导出Excel的不多见,一般都需要调用客户端所安装的Office Excel组件来完成这个工作。这里我主要讲EasyUI内的DataGrid如何结合JS导出Excel文件

一、 导出Excel的核心代码段如下所示

  1. function Exproter() {
  2. //获取Datagride的列
  3. var rows = $('#test').datagrid('getRows');
  4. var oXL = new ActiveXObject("Excel.Application"); //创建AX对象excel
  5. var oWB = oXL.Workbooks.Add(); //获取workbook对象
  6. var oSheet = oWB.ActiveSheet; //激活当前sheet
  7. for (var i = 0; i < rows.length; i++) {
  8. oSheet.Cells(i + 1, 1).value = rows[i].O_NAME;
  9. }
  10. oXL.Visible = true; //设置excel可见属性
  11. }

二、以上JS方法能够顺利执行的大前提就是

1.机器上Excel已经安装.

2.Internet 选项=>安全=>Internet

\"对没有标记为安全的ActiveX控件进行初始化和脚本运行,设定为启用\"

转载自:http://www.stepday.com/topic/?247

  1. //EasyUI datagrid 动态导出Excel
  2. function ExporterExcel() {
  3. //获取Datagride的列
  4. var rows = $('#tt').datagrid('getRows');
  5. var columns = $("#tt").datagrid("options").columns[0];
  6. var oXL = new ActiveXObject("Excel.Application"); //创建AX对象excel
  7. var oWB = oXL.Workbooks.Add(); //获取workbook对象
  8. var oSheet = oWB.ActiveSheet; //激活当前sheet
  9. //设置工作薄名称
  10. oSheet.name = "导出Excel报表";
  11. //设置表头
  12. for (var i = 0; i < columns.length; i++) {
  13. oSheet.Cells(1, i+1).value = columns[i].title;
  14. }
  15. //设置内容部分
  16. for (var i = 0; i < rows.length; i++) {
  17. //动态获取每一行每一列的数据值
  18. for (var j = 0; j < columns.length; j++) {
  19. oSheet.Cells(i + 2, j+1).value = rows[i][columns[j].field];
  20. }
  21. }
  22. oXL.Visible = true; //设置excel可见属性
  23. }