jsp中使用EXCEL组件将表格导出为EXCEL文件
此种方法使用excel的组件,要求客户端必须装有excel程序。方法是将表格中的每个td标签的内容取出,作为excel文件中一个单元格的内容。
1、在网页中添加java脚本
function AutomateExcel(tableid,unusecolumn)
{
// 获取excel组件
var oXL = new ActiveXObject("Excel.Application");
//创建工作薄
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
var table = document.getElementById(tableid);
var hang = table.rows.length;
var lie = table.rows(0).cells.length;
for (i=0;i<hang;i++)
{
for (j=0;j<lie-unusecolumn;j++)
{
oSheet.Cells(i+1,j+1).value = table.rows(i).cells(j).innerText;
}
}
oXL.Visible = true;
oXL.UserControl = true;
}
2、增加导出按钮
<input class="Noprint" type="Button" onclick="AutomateExcel('ordertable','0');" value="导出">
AutomateExcel函数的第一个参数是要导出的表格的ID,第二个参数表示导出时表格末尾要忽略的列数,如不需要忽略,请设置为‘0’
3、OK!
相关文档:
<%
ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(request.getSession().getServletContext());
List stafflist = ((StaffDAO)ctx.getBean("StaffDAO")).findAll();
request.setAttribute("stafflist",stafflist);
%> ......
1.安装jdk(版本6u7);
2.配置jdk环境变量(安装目录:D:\tools\java\jdk1.6.0_07):
1). JAVA_HOME = D:\tools\java\jdk1.6.0_07;
2). Path的最前面追加"D:\tools\java\jdk1.6.0_07\bin;D:\tools\java\jre1.6.0_07\bin";
3). CLASSPATH = D:\tools\java\jdk1.6.0_07\lib;D:\tools\java\jdk1.6.0_07\lib\too ......
环境:Ajax+JSP,Tomcat5.05
参考:http://www.w3cschool.cn/index-24.asp.htm
文件:testAjax.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb ......
分两种:
Get方式传递数据解决办法:
<%
String username = request.getParameter("username");
byte[] bytes = username.getBytes("iso-8859-1");
String result = new String(bytes, "gb2312");
out.print(result);
%>
Post方式解决办法:request.setCharacterEncoding("gb2312");
......
使用diasplaytag组件。
使用mysql5, 有个数据表user,字段有id, username, password。
使用displaytag需导入displaytag-1.1.jar,和
commons-logging
commons-lang
commons-collections
commons-beanutils
log4j
itext (optional, for pdf/rtf export)
然后在JSP页面中放入<%@ taglib uri="http://display ......