在jsp中如何实现导出exceal

在jsp中如何实现导出exceal

邮箱:qaqai@126.com

算你运气好,我项目中刚好做到这事了.不同的是我用的struts,但大同小异.我是自己写了个工具类,以下是这个方法.取得记录集后,调用这个方法就行了.注意我里面的注释,那个将list一行转换为数组的,你改一下这里就行了

/**
*
* @param response HttpServletResponse response
* @param filename 待输出的默认文件名
* @param sheetname 工作表名称
* @param titles 标题数组
* @param list 数据
* @return 输出文件流至客户端
* @throws Exception
*/
public static boolean exportToExcel(HttpServletResponse response, String filename,
String sheetname, String[] titles, List list) throws Exception {
OutputStream os = null;
boolean b1 = true;
try {
os = response.getOutputStream(); //取得输出流
response.reset(); //清空输出流
response.setHeader("Content-disposition", "attachment; filename="
+ filename + ".xls"); //设定输出文件头
response.setContentType("application/msexcel"); //定义输出类型
} catch (IOException ex) {
b1 = false;
System.out.println("流操作错误:" + ex.getMessage());
}
WritableWorkbook workbook = null;
try {
//创建新的Excel 工作簿
workbook = Workbook.createWorkbook(os);
//在Excel工作簿中建一工作表
jxl.write.WritableSheet wsheet = workbook.createSheet(sheetname, 0); //sheet();
WritableFont font = new WritableFont(WritableFont.ARIAL, 14,
WritableFont.BOLD, false,
jxl.format.UnderlineStyle.NO_UNDERLINE,
jxl.format.Colour.BLACK);
WritableCellFormat format = new WritableCellFormat(font);

for (int i = 0; i < titles.length; i++) {//写标题栏
Label wlabel1 = new Label(i+1, 0, titles[i], format); //行、列、单元格中的文本、文本格式
wsheet.addCell(wlabel1);
}
font = new jxl.write.WritableFont(WritableFont.createFont("宋体"),
12, WritableFont.NO_BOLD, false,
jxl.format.UnderlineStyle.NO_UNDERLINE,
jxl.format.Colour.BLACK);
format = new jxl.write.WritableCellFormat(font);

//开始写数据
for (int i = 0; i < list.size(); i++) { // 在索引0的位置创建行(最顶端的行)
String[] sdata = "";//这里你自己取一下list一行的数据,并转换为数组的一行
for (int j = 0; j < sdata.length; j++) { //在索引0的位置创建单元格(左上端)
Label wlabel1 = new Label(j+1, i+1, sdata[j], format); //行、列、单元格中的文本、文本格式
wsheet.addCell(wlabel1);
//System.out.println(sdata[j] + ":::" + sdata[j]);
}
}
workbook.write(); //写入文件
} catch (WriteException ex1) {
b1 = false;
System.out.println("WriteException:" + ex1.getMessage());
} catch (IOException ex2) {
b1 = false;
System.out.println("IOException:" + ex2.getMessage());
}
workbook.close();
os.close();
return b1;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-01-09
到网上搜索一下,JSP有专门的导出excel的包,只要把包导到项目里面,然后在JSP的头里面加一句话<%@ page language="java" contentType="application/vnd.ms-excel; charset=GBK"
pageEncoding="GBK"%>,然后把你数据用<table></table>放到JSP页面,访问JSP页面就会自动导出数据到生成的一个excel文件中.
第2个回答  2009-01-10
用Apache POI

如何把JSP页面导出到Excel中jsp怎么导出文件
方法一:functionsaveCode(obj){varwinname=window.open('','_blank','top=10000');varstrHTML=document.all.tableExcel.innerHTML;winname.document.open('text\/html','replace');winname.document.writeln(strHTML);winname.document.execCommand('saveas','','excel.xls');winname.close();}...

jsp输出exec
1、首先打开电脑,点选Web软件,进入软件主界面。2、其次在软件主界面点击进入Excel操作界面,点击左上角的导出,将jsp输出格式选择为exec。3、最后点击保存,等输出完毕即可。

在jsp中如何实现导出exceal
param filename 待输出的默认文件名 param sheetname 工作表名称 param titles 标题数组 param list 数据 return 输出文件流至客户端 throws Exception \/ public static boolean exportToExcel(HttpServletResponse response, String filename,String sheetname, String[] titles, List list) throws Exception...

jsp如何利用POI直接生成Excel并在页面中导出
1、修改WEB服务器的CONF\/web.xml,添加 <mime-mapping> <extension>xls<\/extension> <mime-type>application\/vnd.ms-excel<\/mime-type> <\/mime-mapping> 如果不添加这个,那么在网页中下载的时候就变成了JSP文件 2、download.jsp文件 <%@ page contentType="application\/vnd.ms-excel" language="jav...

怎么从网页导出execl js
1、首先创建此jsp页面:(功能为导出页面数据到Excel)<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+":\/\/"+request.getServerName()+":"+request.getServerPort()+path+"\/";> <...

jsp如何将xml文件数据导出到excel中
在JSP中如何把xml文件中的数据导出到excel中,其实就是通过Java如何把xml中的数据导出到excel中。要解决这个问题分为两步。第一步,通过java把数据从xml文件中读出来。这个在Java中是一个很普通很普遍的问题,使用任意一个Java的xml解析库(比如jdom,dom4j等)都可以完成。第二步,数据从xml文件读出后,...

如何把JSP页面导出到Excel中
既然放在页面上,那你应该能取到整个table的html内容吧。取到整个table的html后,你可以使用xstream将其解析为一个一个的td标记的javabean,然后使用poi或者jxl在servlet生成excel文件就可以了。

怎么从jsp页面的表格导出到Excel
无非是这样的一个过程。先通过数据库查询出数据,放到List里,然后把这个List发往页面,然后遍历这个List把数据显示到这个表格里。 要想把数据导出到execel,很简单,把页面接受的这个List用jxl写到Execel就行了。具体将List导出到Execel的类如下:package cms.dao;import java.io.IOException;import java....

如何将jsp页面的table报表转换到excel报表导出
用链接表试一下能抓取到吗?Dim myQuery With ActiveSheet .Cells.Delete .[a1] = "Conneting, Please Wait..."Set myQuery = ActiveSheet.QueryTables _.Add(Connection:="URL;http:\/\/网址", _Destination:=.Cells(1, 1))End With With myQuery .Refresh End With ...

把jsp页面的table表中的数据导出成excel表
无非是这样的一个过程。先通过数据库查询出数据,放到List里,然后把这个List发往页面,然后遍历这个List把数据显示到这个表格里。 要想把数据导出到execel,很简单,把页面接受的这个List用jxl写到Execel就行了。具体将List导出到Execel的类如下:package cms.dao;import java.io.IOException;import java....

相似回答