【求助】如何将jsp里的表格导出到excel
如何将jsp里的表格导出到excel 我现在的做法是在点击“EXCEL”的时候调用一个SERVLET来实现;response.setContentType("application/vnd.ms-excel;charset=GBK");
不过这个方法很笨的是需要在里面写一次生成数据表格的逻辑,如果在页面上已经写过了,这时再写就重复了。
我一直没找到好的方法,如果哪位有好的方法或推荐的网址,先谢了。 好像有个开源API,前几天别人让我修改的代码里就用到了那项技术,没用过,给你个思路。 简单的可以通过javascript将页面中显示出来的数据直接倒入到excel中,复杂的可以通过jxl来实现,非常好用,可以实现复杂的excel数据倒入。 http://www-128.ibm.com/developerworks/cn/java/l-javaExcel/ 我是通过poi来导出到EXCEL。 这个是直接从页面上把数据存入EXCEL中的做法!
我以前用过的!不知道适不适合你用
function CellAreaExcel() {
var t = document.getElementById("TableExcel");
var rowNum = 0;
var oXL = new ActiveXObject("Excel.Application"); //创建应该对象
var oWB = oXL.Workbooks.Add();//新建一个Excel工作簿
var oSheet = oWB.ActiveSheet;//指定要写入内容的工作表为活动工作表
var beginCol = 0;
var rowSpans = 1; //行合并
var colSpans = 1; //列合并
oXL.visible = true;
var Lenr = t.rows.length;
//总列数据
var colsNum = t.rows(0).cells.length - 2;
//对于第一行的标题部分进行合并居中,
var excRange = oSheet.Range(oSheet.Cells(1, 1), oSheet.Cells(1, colsNum));
excRange.Merge(true);
excRange.value = "\u6c34\u529f\u80fd\u533a\u6392\u6c61\u54c1\u4fe1\u606f\u6d4f\u89c8";
excRange.HorizontalAlignment = 3;//'居中
excRange.Font.Name = "\u9ed1\u4f53";
for (i = 0; i < Lenr - 1; i++) {
var Lenc = t.rows(i).cells.length;
for (j = 1; j < Lenc - 1; j++) {
oSheet.Cells(i + 2, j).value = t.rows(i).cells(j).innerText;
}
}
//字符大小为9
oSheet.Range(oSheet.Cells(2, 1), oSheet.Cells(Lenc + 2, colsNum)).Font.Size = 9;
//居中
oSheet.Range(oSheet.Cells(2, 1), oSheet.Cells(Lenc + 2, colsNum)).HorizontalAlignment = 3;
//自动调整列宽
oSheet.Range(oSheet.Cells(2, 1), oSheet.Cells(Lenc + 2, colsNum)).Columns.AutoFit();
//自动调整行高
oSheet.Range(oSheet.Cells(2, 1), oSheet.Cells(Lenc + 2, colsNum)).Rows.AutoFit();
//划边框
oSheet.Range(oSheet.Cells(2, 1), oSheet.Cells(Lenc + 2, colsNum)).Borders.LineStyle = 1;
oXL.close();
} POI或JXL
页:
[1]