一种用JavaScript来做var ExcelApp=new ActiveX("Excel.Application")
一种直接生成CSV格式.作为MIME类型text/csv返回给浏览器
还有一种一个称作POI的新的Jakarta项目组中最成熟的部分,POI中Excel组件命名为HSSF.感觉都不太妥.最好自己写个ActiveX来做.
一种直接生成CSV格式.作为MIME类型text/csv返回给浏览器
还有一种一个称作POI的新的Jakarta项目组中最成熟的部分,POI中Excel组件命名为HSSF.感觉都不太妥.最好自己写个ActiveX来做.
解决方案 »
- 请教一个SERVLET的问题
- 求pdf插件
- Tomcat连接池SQLServer2005简单
- 高分提问 专家乱入给建议 JDBC连接如何很好的转为连接池连接
- 用jsp读取并显示数据库中的二进制格式的图片的问题:为什么只显示同一张图?
- 急急急!!!我在Jsp(Java)中怎样返回存储过程的多个记录集??
- 求助:一个Web的问题
- 初学求助:jsp设置哪里不对?
- 对一个很长的事务,怎么处理?
- delphi人士和使用过Tomcat的高手请进来指点迷津。没用过的也请搬个板凳进来一起学习(听课有分共120分)。
- 不好意思,又有个不懂的地方.表单内容提交之后显示出来是问号.charset=gb2312写了没用!
- 一个基本问题,请指教
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
HttpSession session = request.getSession();
bos = response.getOutputStream();
response.setContentType("application/octet-stream");
response.setHeader("Content-disposition", "attachment; filename=gsqd.xls");
try
{
createFile0(session,request);
}
catch(Exception ex)
{
System.out.println("参数传递错误2!");
}
finally
{
if(bos != null) bos.close();
}
}
public void createFile0(HttpSession session,HttpServletRequest request) throws Exception
{ strBuf.append("别号\t号\t人名称\t名称\n");
while(rs.next())
{
strBuf = new StringBuffer("");
strBuf.append(rs.getString("gsnsrsbh")==null?" "+"\t":rs.getString("gsnsrsbh")+" \t");
strBuf.append(rs.getString("dsnsrsbh")==null?" "+"\t":rs.getString("dsnsrsbh")+" \t");
strBuf.append(db.convert(rs.getString("gsnsrmc"))+" \t");
strBuf.append(db.convert(rs.getString("dsnsrmc"))+" \n");
str = strBuf.toString();
bos.write(str.getBytes());
}
你看一看意路吧,我们是出现一对话框将用户下载的
function AutomateExcel()
{
var i,j;
// Start Excel and get Application object.
var oXL = new ActiveXObject("Excel.Application"); oXL.Visible = true; // Get a new workbook.
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
//tblout页面表格的ID
for(i=0;i<tblout.rows.length;i++)
for(j=0;j<tblout.rows(i).cells.length;j++)
oSheet.Cells(i+1, j+1).Value = tblout.rows(i).cells(j).innerText
oXL.Visible = true;
oXL.UserControl = true;
}
涉及到3个页面:查询页面:1.jsp、查询结果:2.jsp、输出到excel:toExcel.jsp。
(1)在1.jsp里,把表单的method设为get,action为2.jsp。
(2)在2.jsp里,添加一个JS函数toExcel():
<script language="JavaScript">
function toExcel(){
window.open("toExcel.jsp?<%=request.getQueryString()%>","","");
}
</script>
然后页面上加一个按钮调用该函数。
(3)在toExcel.jsp里,在文件上部加入代码:
<%
response.setContentType("application/vnd.ms-excel;charset=gb2312");
response.setHeader("Content-Disposition", "filename=" + "queryResult");
%>
至于文件的内容,把2.jsp里查询得到的表格复制一遍得了。