要实现一个将jsp页面里的表格内容导入到word或者excel中的功能。求助... 本帖最后由 chenlong888 于 2009-09-02 11:09:24 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <%@ page language="java" import="java.io.*,jxl.write.*,jxl.*,jxl.write.WriteException,jxl.write.biff.RowsExceededException" pageEncoding="gb2312"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>MyJsp.jsp </title> </head> <body> <% String filePath = "c://测试.xls"; String s1[] = { "1", "2", "3" }; String s2[] = { "内容4", "内容5", "内容6" }; String data[][] = { s1, s2 }; if (data == null) { return; } Label label = null; WritableSheet sheet = null; try { //打开文件 WritableWorkbook wb = Workbook .createWorkbook(new File(filePath)); //生成名为“第一页”的工作表,参数0表示这是第一页 sheet = wb.createSheet("第一页", 0); for (int i = 0; i < 2; i++) for (int j = 0; j < 3; j++) { //在Label对象的构造子中指名单元格位置以及单元格内容 label = new Label(j, i, data[i][j]); //将定义好的单元格添加到工作表中 sheet.addCell(label); } //写入数据并关闭文件 wb.write(); wb.close(); } catch (IOException e) { } catch (RowsExceededException e) { } catch (WriteException e) { } %> 导出Excel表成功 </body></html> 对不起,我的需求没说清楚。希望是有一个按钮,首先要显示当前的页面,然后点击打印按钮后 弹出一个excel的文件。然后可以打印。 导出成excel用jxl或者直接<%@page contentType="application/vnd.ms-excel;charset=GBK" %><html><head><title>tableExcel</title><meta http-equiv="Content-Type" content="text/msexcel; charset=gb2312"><body><table width="100%" border="0" cellpadding="0" cellspacing="0" align="center"><tr> <td align="center">test</td></tr></table></body></html> 好像得对浏览器进行设置,工具-》intern选项-》安全-》自定义级别 具体选哪几项忘了,你搜搜 <HTML> <HEAD> <title>WEB页面导出为EXCEL文档的方法 </title> </HEAD><body><BR><table id = "PrintA" width="100%" border="1" cellspacing="0" cellpadding="0" bgcolor = "#61FF13"><TR style="text-align : center;"> <TD>单元格A</TD> <TD>单元格A</TD> <TD>单元格A</TD> <TD>单元格A</TD></TR><TR> <TD colSpan=4 style="text-align : center;"><font color="BLUE" face="Verdana">单元格合并行A</FONT></TD></TR></TABLE><BR><table id = "PrintB" width="100%" border="1" cellspacing="0" cellpadding="0"><TR style="text-align : center;"> <TD>单元格B</TD> <TD>单元格B</TD> <TD>单元格B</TD> <TD>单元格B</TD></TR><TR> <TD colSpan=4 style="text-align : center;">单元格合并行B</TD></TR></TABLE><br><br><br><input type="button" onclick="javascript:AllAreaWord();" value="导出页面指定区域内容到Word"><input type="button" onclick="javascript:AllAreaExcel();" value="导出页面指定区域内容到Excel"><input type="button" onclick="javascript:CellAreaExcel();" value="导出表单单元格内容到Excel"><SCRIPT LANGUAGE="javascript"> //指定页面区域内容导入Excel function AllAreaExcel() { var oXL = new ActiveXObject("Excel.Application"); var oWB = oXL.Workbooks.Add(); var oSheet = oWB.ActiveSheet; var sel=document.body.createTextRange(); sel.moveToElementText(PrintA); sel.select(); sel.execCommand("Copy"); oSheet.Paste(); oXL.Visible = true; } //指定页面区域“单元格”内容导入Excel function CellAreaExcel() { var oXL = new ActiveXObject("Excel.Application"); var oWB = oXL.Workbooks.Add(); var oSheet = oWB.ActiveSheet; var Lenr = PrintA.rows.length; for (i=0;i<Lenr;i++) { var Lenc = PrintA.rows(i).cells.length; for (j=0;j<Lenc;j++) { oSheet.Cells(i+1,j+1).value = PrintA.rows(i).cells(j).innerText; } } oXL.Visible = true; } //指定页面区域内容导入Word function AllAreaWord() { var oWD = new ActiveXObject("Word.Application"); var oDC = oWD.Documents.Add("",0,1); var oRange =oDC.Range(0,1); var sel = document.body.createTextRange(); sel.moveToElementText(PrintA); sel.select(); sel.execCommand("Copy"); oRange.Paste(); oWD.Application.Visible = true; //window.close(); }</SCRIPT></body></html> 工具-》intern选项-》安全-》自定义级别里面关于ActiveX五六项扣住可根据需要打开相应的提示或者安装 response.setHeader("Content-disposition","attachment;filename=result.xls");//Excel response.setHeader("Content-disposition","attachment;filename=result.doc");//Word 设置要输出的头文件格式 下面在把你要输出的内容输出就可以了 9楼的是说在下面生成excel文件,还是在上一个页面生成excel文件。如果在下面生成excel文件的话。那文件名至少是不确定的。希望能给个详细的demo程序,不甚感激。 求推荐书 请教高手如何用taglib(自定义标签)分页显示 请高手指教~ 请问哪里有jsp手册下载? 如何在javascript中修改jsp中text控件的属性?谢谢 请教这是什么错误??? 是javabean有问题吗????????????? Junit可以运行它的sample,怎样执行自己的测试? 一个很简单的问题。 请问如何将tomcat和IIS绑定?哪里有相关文章? @DynamicUpdate(true)导入不进是否Hibernate的版本问题 tiles框架不起作用 Web界面设计
<%@ page language="java"
import="java.io.*,jxl.write.*,jxl.*,jxl.write.WriteException,jxl.write.biff.RowsExceededException"
pageEncoding="gb2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>MyJsp.jsp </title>
</head> <body>
<%
String filePath = "c://测试.xls";
String s1[] = { "1", "2", "3" };
String s2[] = { "内容4", "内容5", "内容6" };
String data[][] = { s1, s2 }; if (data == null) { return;
} Label label = null;
WritableSheet sheet = null;
try {
//打开文件
WritableWorkbook wb = Workbook
.createWorkbook(new File(filePath));
//生成名为“第一页”的工作表,参数0表示这是第一页
sheet = wb.createSheet("第一页", 0);
for (int i = 0; i < 2; i++)
for (int j = 0; j < 3; j++) {
//在Label对象的构造子中指名单元格位置以及单元格内容
label = new Label(j, i, data[i][j]);
//将定义好的单元格添加到工作表中
sheet.addCell(label);
}
//写入数据并关闭文件
wb.write();
wb.close(); } catch (IOException e) { } catch (RowsExceededException e) { } catch (WriteException e) { }
%>
导出Excel表成功
</body>
</html>
希望是有一个按钮,首先要显示当前的页面,然后点击打印按钮后 弹出一个excel的文件。然后可以打印。
<%@page contentType="application/vnd.ms-excel;charset=GBK" %>
<html>
<head>
<title>tableExcel</title>
<meta http-equiv="Content-Type" content="text/msexcel; charset=gb2312">
<body>
<table width="100%" border="0" cellpadding="0" cellspacing="0" align="center">
<tr>
<td align="center">test</td>
</tr>
</table>
</body>
</html>
<HTML>
<HEAD>
<title>WEB页面导出为EXCEL文档的方法
</title>
</HEAD>
<body>
<BR>
<table id = "PrintA" width="100%" border="1" cellspacing="0" cellpadding="0" bgcolor = "#61FF13">
<TR style="text-align : center;">
<TD>单元格A</TD>
<TD>单元格A</TD>
<TD>单元格A</TD>
<TD>单元格A</TD>
</TR>
<TR>
<TD colSpan=4 style="text-align : center;"><font color="BLUE" face="Verdana">单元格合并行A</FONT></TD>
</TR>
</TABLE>
<BR>
<table id = "PrintB" width="100%" border="1" cellspacing="0" cellpadding="0">
<TR style="text-align : center;">
<TD>单元格B</TD>
<TD>单元格B</TD>
<TD>单元格B</TD>
<TD>单元格B</TD>
</TR>
<TR>
<TD colSpan=4 style="text-align : center;">单元格合并行B</TD>
</TR>
</TABLE>
<br><br><br>
<input type="button" onclick="javascript:AllAreaWord();" value="导出页面指定区域内容到Word">
<input type="button" onclick="javascript:AllAreaExcel();" value="导出页面指定区域内容到Excel">
<input type="button" onclick="javascript:CellAreaExcel();" value="导出表单单元格内容到Excel">
<SCRIPT LANGUAGE="javascript">
//指定页面区域内容导入Excel
function AllAreaExcel()
{
var oXL = new ActiveXObject("Excel.Application");
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
var sel=document.body.createTextRange();
sel.moveToElementText(PrintA);
sel.select();
sel.execCommand("Copy");
oSheet.Paste();
oXL.Visible = true;
}
//指定页面区域“单元格”内容导入Excel
function CellAreaExcel()
{
var oXL = new ActiveXObject("Excel.Application");
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
var Lenr = PrintA.rows.length;
for (i=0;i<Lenr;i++)
{
var Lenc = PrintA.rows(i).cells.length;
for (j=0;j<Lenc;j++)
{
oSheet.Cells(i+1,j+1).value = PrintA.rows(i).cells(j).innerText;
}
}
oXL.Visible = true;
} //指定页面区域内容导入Word
function AllAreaWord()
{
var oWD = new ActiveXObject("Word.Application");
var oDC = oWD.Documents.Add("",0,1);
var oRange =oDC.Range(0,1);
var sel = document.body.createTextRange();
sel.moveToElementText(PrintA);
sel.select();
sel.execCommand("Copy");
oRange.Paste();
oWD.Application.Visible = true;
//window.close();
}
</SCRIPT>
</body></html>
里面关于ActiveX五六项
扣住可根据需要打开相应的提示或者安装
response.setHeader("Content-disposition","attachment;filename=result.doc");//Word
设置要输出的头文件格式 下面在把你要输出的内容输出就可以了
希望能给个详细的demo程序,不甚感激。