设为首页收藏本站订阅更新

无忧脚本

 找回密码
 加入无忧

QQ登录

只需一步,快速开始

搜索
查看: 12890|回复: 12

【求助】如何将jsp里的表格导出到excel

[复制链接]
发表于 2006-3-21 14:23:00 | 显示全部楼层 |阅读模式
如何将jsp里的表格导出到excel
发表于 2006-3-24 12:25:53 | 显示全部楼层
我现在的做法是在点击“EXCEL”的时候调用一个SERVLET来实现;
response.setContentType("application/vnd.ms-excel;charset=GBK");
不过这个方法很笨的是需要在里面写一次生成数据表格的逻辑,如果在页面上已经写过了,这时再写就重复了。
我一直没找到好的方法,如果哪位有好的方法或推荐的网址,先谢了。
发表于 2006-3-25 14:53:08 | 显示全部楼层
好像有个开源API,前几天别人让我修改的代码里就用到了那项技术,没用过,给你个思路。
发表于 2006-7-19 08:51:34 | 显示全部楼层
简单的可以通过javascript将页面中显示出来的数据直接倒入到excel中,复杂的可以通过jxl来实现,非常好用,可以实现复杂的excel数据倒入。
发表于 2006-7-19 09:53:23 | 显示全部楼层
发表于 2008-8-28 22:34:08 | 显示全部楼层
我是通过poi来导出到EXCEL。
发表于 2008-12-17 21:13:03 | 显示全部楼层
这个是直接从页面上把数据存入EXCEL中的做法!
  我以前用过的!不知道适不适合你用

  1. function CellAreaExcel() {
  2.         var t = document.getElementById("TableExcel");
  3.         var rowNum = 0;
  4.         var oXL = new ActiveXObject("Excel.Application"); //创建应该对象
  5.         var oWB = oXL.Workbooks.Add();//新建一个Excel工作簿
  6.         var oSheet = oWB.ActiveSheet;//指定要写入内容的工作表为活动工作表
  7.         var beginCol = 0;
  8.         var rowSpans = 1;  //行合并
  9.         var colSpans = 1;  //列合并
  10.         oXL.visible = true;
  11.         var Lenr = t.rows.length;
  12.            //总列数据
  13.         var colsNum = t.rows(0).cells.length - 2;
  14.            //对于第一行的标题部分进行合并居中,
  15.         var excRange = oSheet.Range(oSheet.Cells(1, 1), oSheet.Cells(1, colsNum));
  16.         excRange.Merge(true);
  17.         excRange.value = "\u6c34\u529f\u80fd\u533a\u6392\u6c61\u54c1\u4fe1\u606f\u6d4f\u89c8";
  18.         excRange.HorizontalAlignment = 3;//'居中
  19.         excRange.Font.Name = "\u9ed1\u4f53";
  20.         for (i = 0; i < Lenr - 1; i++) {
  21.                 var Lenc = t.rows(i).cells.length;
  22.                 for (j = 1; j < Lenc - 1; j++) {
  23.                         oSheet.Cells(i + 2, j).value = t.rows(i).cells(j).innerText;
  24.                 }
  25.         }
  26.          
  27.            //字符大小为9
  28.         oSheet.Range(oSheet.Cells(2, 1), oSheet.Cells(Lenc + 2, colsNum)).Font.Size = 9;
  29.      //居中
  30.         oSheet.Range(oSheet.Cells(2, 1), oSheet.Cells(Lenc + 2, colsNum)).HorizontalAlignment = 3;
  31.      //自动调整列宽
  32.         oSheet.Range(oSheet.Cells(2, 1), oSheet.Cells(Lenc + 2, colsNum)).Columns.AutoFit();
  33.      //自动调整行高
  34.         oSheet.Range(oSheet.Cells(2, 1), oSheet.Cells(Lenc + 2, colsNum)).Rows.AutoFit();
  35.      //划边框
  36.         oSheet.Range(oSheet.Cells(2, 1), oSheet.Cells(Lenc + 2, colsNum)).Borders.LineStyle = 1;
  37.         oXL.close();
  38. }
复制代码
发表于 2009-7-9 12:26:00 | 显示全部楼层
POI或JXL
发表于 2012-6-27 16:55:51 | 显示全部楼层
顶,楼上
您需要登录后才可以回帖 登录 | 加入无忧

本版积分规则

小黑屋|手机版|Archiver|无忧脚本 ( 苏ICP备05080427号 )|值班电话:027-62300445   鄂公网安备 42011102000433号

GMT+8, 2017-11-25 09:47 , Processed in 0.098048 second(s), 8 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表