当前页面: 开发资料首页 → JSP 专题 → jsp如何将数据以excel导出
jsp如何将数据以excel导出
摘要: jsp如何将数据以excel导出
jsp中不知如何将报表数据以excel导出,请高手赐教
没做过,听说用poi和jexcel都可以做到,前者是apahce,后者是sourceforge的开源项目,搜索一下论坛,很多这方面的帖子
使用 displaytag 或 eXtremeComponent 吧
去下载一个jxl.java 去google搜索一下多的是!代码就是下面的!
import java.io.File;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
//生成Excel的类
public class ExcelUtils {
public static void main(String args[]) {
readExcel();
}
public static void createExcel() {
try {
//打开文件
WritableWorkbook book = Workbook.createWorkbook(new File("测试.xls"));
//生成名为“第一页”的工作表,参数0表示这是第一页
WritableSheet sheet = book.createSheet("第一页", 0);
//在Label对象的构造子中指名单元格位置是第一列第一行(0,0)
//以及单元格内容为test
Label label = new Label(0, 0, "test");
//将定义好的单元格添加到工作表中
sheet.addCell(label);
/*
* 生成一个保存数字的单元格 必须使用Number的完整包路径,否则有语法歧义 单元格位置是第二列,第一行,值为789.123
*/
jxl.write.Number number = new jxl.write.Number(1, 0, 789.123);
sheet.addCell(number);
//写入数据并关闭文件
book.write();
book.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void readExcel() {
try {
Workbook book = Workbook.getWorkbook(new File("测试.xls"));
//获得第一个工作表对象
Sheet sheet = book.getSheet(0);
//得到第一列第一行的单元格
Cell cell1 = sheet.getCell(0, 0);
String result = cell1.getContents();
System.out.println(result);
book.close();
} catch (Exception e) {
System.out.println(e);
}
}
public void modifyExcel() {
try {
//Excel获得文件
Workbook wb = Workbook.getWorkbook(new File("测试.xls"));
//打开一个文件的副本,并且指定数据写回到原文件
WritableWorkbook book = Workbook.createWorkbook(new File("测试.xls"),
wb);
//添加一个工作表
WritableSheet sheet = book.createSheet("第二页", 1);
sheet.addCell(new Label(0, 0, "第二页的测试数据"));
book.write();
book.close();
} catch (Exception e) {
System.out.println(e);
}
}
}
上面是我自己写的测试代码!你把main方法里面的改改就可以了!
ArrayList aArrayListData = new ArrayList();
try{aArrayListData = (ArrayList)session.getValue("sReport");}catch(Exception e){aArrayListData=null;}
response.setHeader("Content-disposition","attachment; filename=Report.xls" );
有三种方法,一种excel.application 控件,一种,纯js得到<table>标签下的td下的数据加成
A,B,C,给隐藏输入框,后台就得到了数据 ,Stringtoken分解成数组,poi生成excel ,另一种考虑格式问,我的问题里有相关说吧,能输出行列相对定位的excel,但还是有个问题,超复杂表格,不能准确定位,在研究
wmzsl(王明哲) 说得详细