1.直接输出table格式
<%@ page language="java" pageEncoding="GBK"%><%response.setHeader("Content-disposition","attachment; filename=exdata.xls");%>
<table id="PrintA" border=1>
<tr class="line-odd">
<td align="right">资助项目名称:</td><td align="left">资助项目名称
</td>
</tr>
<tr class="line-even" >
<td align="right">流水号:</td><td align="left">流水号
</td>
</tr>
<tr class="line-odd" >
<td align="right">资助编号:</td><td align="left">
资助编号
</td>
</tr>
</table>
注意:乱码问题,页面保存为utf-8格式
编码格式转换
String s="";
s=new String(s.getBytes( "gb2312 "), "iso-8859-1 ")
2. 利用jxl生成excel文件
<%@ page language="java" pageEncoding="GBK"%>
<%@page import="javax.servlet.ServletOutputStream"%>
<%@page import="jxl.*"%>
<%@page import="jxl.write.*"%>
<%
response.setContentType("application/download");
response.setHeader("Content-Disposition","attachment;filename=totalExcel.xls");
ServletOutputStream sos = response.getOutputStream();
WritableWorkbook wwb=null;
WritableCellFormat contentFromart = new WritableCellFormat(NumberFormats.TEXT);
wwb = Workbook.createWorkbook(sos);
WritableSheet ws = wwb.createSheet("sheet1", 0);
WritableCellFormat cellFormat=new WritableCellFormat(); //换行功能
cellFormat.setAlignment(jxl.format.Alignment.LEFT);
cellFormat.setWrap(true);
Label lab = new Label(0, 0, "序号");
ws.addCell(lab);
lab = new Label(1, 0, "流水号",contentFromart);//将 数字字符串放入lable
ws.addCell(lab);
lab = new Label(2, 0, "项目编号");
ws.addCell(lab);
lab = new Label(3, 0, "资助项目名");
ws.addCell(lab);
lab = new Label(4, 0, "项目开始日期");
ws.addCell(lab);
lab = new Label(5, 0, "金额");
ws.addCell(lab);
lab = new Label(6, 0, "负责人");
ws.addCell(lab);
lab = new Label(7, 0, "填表人");
ws.addCell(lab);
lab = new Label(8, 0, "资助单位");
ws.addCell(lab);
wwb.write();
wwb.close();
sos.flush();
sos.close();
out.clear();
out = pageContext.pushBody();
%>
3.js 导出到excel(要求服务器装office)。因为用到了Excel.Application 控件,还得将电脑IE的安全级别设置降低。 否则报“Automation 服务器不能创建对象”错误。
方法一:
function AllAreaExcel(tableid) {//整个表格拷贝到EXCEL中
var PrintA= document.getElementById(tableid);
var oXL = new ActiveXObject("Excel.Application");
//创建AX对象excel
var oWB = oXL.Workbooks.Add();
//获取workbook对象
var oSheet = oWB.ActiveSheet;
//激活当前sheet
var sel = document.body.createTextRange();
sel.moveToElementText(PrintA);
//把表格中的内容移到TextRange中
sel.select();
//全选TextRange中内容
sel.execCommand("Copy");
//复制TextRange中内容
oSheet.Paste();
//粘贴到活动的EXCEL中
oXL.Visible = true;
//设置excel可见属性
}
//指定页面区域“单元格”内容导入Excel
function CellAreaExcel(tableid)
{
var PrintA= document.getElementById(tableid);
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;
}
4.jsp导出到word
<%@ page language="java" pageEncoding="GBK"%><%@pagecontentType="application/vnd.ms-word;charset=gbk"%><%response.setHeader("Content-disposition","attachment; filename=exdata.doc");%>
<table id="PrintA" border=1>
<tr class="line-odd">
<td align="right">资助项目名称:</td><td align="left">资助项目名称
</td>
</tr>
<tr class="line-even" >
<td align="right">流水号:</td><td align="left">流水号
</td>
</tr>
<tr class="line-odd" >
<td align="right">资助编号:</td><td align="left">
资助编号
</td>
</tr>
</table>
5.js导出到word
//指定页面区域内容导入Word
function AllAreaWord(tableid)
{
var PrintA= document.getElementById(tableid);
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;
}