问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

什么样的界面,可以用Java导出Excel包含多个Sheet页?

发布网友 发布时间:2022-04-23 23:31

我来回答

3个回答

热心网友 时间:2023-10-13 18:09

以下代码仅供参考:
//生成一个excel文件
WritableWorkbook wwb = null;
try {
//首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象
wwb = Workbook.createWorkbook(new File(fileName));
} catch (IOException e) {
log.error(e); }
long totle = service.getTotle(searchParameters);//业务逻辑方法,获取总数,便于在excel分多个工作表
//按65536条数据分页
float res=Float.parseFloat(String.valueOf(totle));
float mus=65536;
float avg=res/mus;
Map cols = (Map) request.getSession().getAttribute("columnsMap"); //业务逻辑方法
for (int i = 0; i < avg+1; i++) {
searchParameters.setEvent_id(String.valueOf(i*mus)); //分页查询条件
searchParameters.setTotalLimit(String.valueOf((i+1)*mus));//分页查询条件
List result = service.getEvents(searchParameters); //分页查询方法

if(wwb!=null){
//创建一个可写入的工作表
//Workbook的createSheet方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置
WritableSheet ws = wwb.createSheet("列表"+(i+1), i);
String colss = ((String) cols.get("cols")).substring("selected"
.length() + 1);
String[] columns = colss.split(","); //业务逻辑方法(添加标题)
String[] colNames = ((String) cols.get("colNames")).split(",");
for (int j = 0; j < columns.length; j++) {
jxl.write.WritableFont wfc = new jxl.write.WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,jxl.format.UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.BLACK);
jxl.write.WritableCellFormat wcfFC = new jxl.write.WritableCellFormat(wfc);
wcfFC.setBackground(Colour.GRAY_25);
Label label = new Label(j, 0,colNames[j],wcfFC);
ws.setColumnView(j, 20); //设置列宽
ws.addCell(label); //添加标题
}
String str="";
//下面开始添加单元格
for(int m=0;m<result.size();m++){
for(int j=0;j<columns.length;j++){
Map map = (Map) result.get(m);
//在表格中添加(业务数据)
for (Object key : map.keySet()) {
Object val = map.get(key);
str=String.valueOf(val);
//这里需要注意的是,在Excel中,第一个参数表示列,第二个表示行
Label labelC = new Label(j, m+1, str);
//将生成的单元格添加到工作表中
ws.addCell(labelC);
}

}
}
}

}
//Excel操作完毕之后,关闭所有的操作资源
try {
//从内存中写入文件中
wwb.write();
//关闭资源,释放内存
wwb.close();
} catch (IOException e) {
log.error(e);
} catch (WriteException e) {
log.error(e);
}

//把生成的文件下载
File file = new File(fileName);
if(!file.exists()) throw new Exception("文件不存在!");
FileInputStream fileInputStream = new FileInputStream(file);
BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
OutputStream outputStream = response.getOutputStream();
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(outputStream);
response.setContentType("application/x-download");
response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode("事件列表.xls", "UTF-8"));
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = bufferedInputStream.read(buffer, 0, 8192)) != -1) {
bufferedOutputStream.write(buffer, 0, bytesRead);
}
bufferedOutputStream.flush();
fileInputStream.close();
bufferedInputStream.close();
outputStream.close();
bufferedOutputStream.close();

希望能够帮助到你,望采纳!

热心网友 时间:2023-10-13 18:10

导出EXCEL直接调用后台的JAVA代码,是根据后台系统代码中的设定,利用导出工具,可以通过写代码创建多个Sheet页,EXCEL中的数据是在后台取的,不是从前台获取的,只需要把数据查询的条件属性转发到后台,然后后台根据这些条件查询、处理数据。

热心网友 时间:2023-10-13 18:10

跟什么界面没有关系的。关键是看你用的什么API。
POI中是通过new HSSFPOI().createSheets来创建多个sheet。追问

界面做成,Tab这样的,每一个Tab对应一个列表。这样可以导出一个Excel中包含多个Sheet(表1,表2,,表3,表4,表5)吗?

追答

可以啊。

HSSFPOI xls=new HSSFPOI();
xls.createSheets(5);// 创建有五个sheet页的excel
xls.setCurrentSheet(0);// 设置操作第一个sheet
xls.setSheetName(0, "表1");// 设置sheet的名称
xls.setString(0,0,"[1,1]");// 设置表格值
FileOutputStream out=new FileOutputStream("my.xls");
xls.writeTo(out);// 写出文件
out.close();

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
帮帮忙写个英语作文80字的 谢谢 80年山东高考总分 总胆红素25.44(正常3.4-22),直接胆红素7.13(正常0-6.8... ...参考值 总胆红素 19.4 0-23.0 umol/L 直接胆红素 6.4 0-8.0 umol/... 蟹爪兰冬天多久浇水 冬季蟹爪兰浇水间隔需长达多久 蟹爪兰冬天什么时候浇水好 蟹爪兰冬天多久浇一次水 端午节一家人吃饭的说说 端午节跟谁一起过 端午节一家人聚在一起吃饭的说说 端午节是家人团聚吗 java excel 导出 多个sheet 请问含有尿囊素的维生素E乳可以长期当成护手霜和面霜使用么? 之前在药房买了瓶维生素e乳,用起来感觉 过期的维生素e是要做护手霜怎么用 维生素e乳 可以当护手霜吗 苏州协和维生素E乳好吗?保湿效果怎么样?适合夏天用吗? 我今天到广州中山皮肤病防治所买了维生素e乳和维生素e膏还有珍珠膏怎么涂_百度问一问 协和维E乳怎么样? 手指长倒刺能用维生素E乳和隆力奇蛇油护手霜吗? 花雨奇维生素e乳,可以做手霜吗?能涂身体什么部分? 维生素e防裂护手霜能擦脸吗 维生素E可以当护手霜用吗 农村盖2层楼房用水泥pc42.5好还是po42.5好 po425水泥空隙率一般多少 支付宝莫名多了个快递? pO425水泥变白 大学生优缺点有哪些? po425缓凝水泥的指标要求 优亿金融分期了一个手机已经过去快2年了,9号收到短信说是13号开庭我没收到任何的*通知,然后又给_百度问一问 pc325水泥与po425水泥 适用范围3 手里有一些二手奢侈品想出手,谁知道优奢易拍变现快不快? Java中如何导出每个sheet有三个对象的Excel? java怎样利用WritableWorkbook 在Excel中添加多个sheet 怎么使用java jxl 提取一个文件夹下多个excel中sheet3中的数据,汇总成一个新的Excel表格 利用java 如何将一个多sheet的execl表,导入到数据库里。(每个sheet字段... java程序将一张多个sheet的Excel文档,导入数据库中 QQ怎么设置加好友链接?就是别人可以通过这个连接加你好友 求助,QQ互联新用户注册不自动跳转,出现空白页面,怎么回事 蛇年出生的姓黄的女孩取什么名字好听且有意义 属蛇,农历十月十二,姓黄的女孩应该什么名字好! 属蛇黄姓女孩,五行缺木缺火,取什么名字好? 姓黄的女孩子取什么名字好听? 求名字 姓黄 女孩子 要有聪明,善良,漂亮 8月23号农历七月十七日1 7点05分出生。女孩姓黄 取名黄筱琬,黄佳晴,黄炜琳,哪个名字适合五行八字? 钟表鉴定中心哪里有 2010年11月20日3点19分生的女孩,孩子姓黄,要用五行取,请大家帮取个好... 国家钟表检测机构是什么来的? 姓黄的女生取什么名字好,有点诗意的 你好,请问一下有哪些是权威的国家认可的手表鉴定机构呢?可以提供证明的那种,_百度问一问 姓黄的女孩子怎么起名字好听? 国家钟表质量监督检验中心。 检测鉴定手表需要几个工作日? 如何收费?