java sheet类_java excel 导出 多个sheet
展开全部
以下代码仅供参考:
//生成一个excel文件
WritableWorkbook wwb = null;
try {
//首先要使用Workbook类的工厂方法创建一个可写入62616964757a686964616fe59b9ee7ad9431333332643335的工作薄(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
for(int j=0;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();
已赞过
已踩过<
你对这个回答的评价是?
评论
收起
java sheet类_java excel 导出 多个sheet相关推荐
- java实现数据的Excel导出, 自定义导出字段, 转换字典值
java实现数据的Excel导出, 自定义导出字段, 转换字典值 第一版代码: 基础功能跳转此文章java自定义Excel导出工具: 简介 新增功能: 添加自定义字段导出功能, 用户可以选择字段进行导 ...
- vue+Java 实现前后端Excel导出
vue+Java 实现前后端Excel导出 1. 按钮设置 使用avue的导出功能可以查看官网 https://www.avuejs.com/default/export.html 我这里使用的是自定 ...
- java 导入excel工具类_java Excel工具类,导入导出Excel数据
java Excel工具类,导入导出Excel数据,导入数据对合并表格有判断获取数据: 导出数据到Excel,Excel文件不存在会创建. 使用的是poi处理,兼容Excel. 对反射不够理解,目前先 ...
- 后台excel导出(单sheet 多sheet)
//单sheet调用模板public void exportInfo(String ids,HttpServletResponse response) { try {//单元格列头String[] r ...
- JAVA生成甘特图Excel导出
JAVA生成甘特图EXCEL 场景:以甘特图的方式,可以直观的看到任务的进展情况,资源的利用率等等,它也能帮助你考虑人力.资源.日期.项目中重复的要素和关键的部分 领域:如今甘特图不单单被应用到生产管 ...
- 「Java工具类」pdf导出工具类java导出pdf文件工具类
介绍语 本号主要是Java常用关键技术点,通用工具类的分享:以及springboot+springcloud+Mybatisplus+druid+mysql+redis+swagger+maven+d ...
- Java实现千万级Excel导出(含POI下载地址)
基于Java实现千万级Excel数据导出,目前有很多的实现方式,本文主要介绍基于POI的实现方式. POI常用的两种对象分别为HSSFWorkbook 和SXSSFWorkbook,简要介绍如下: H ...
- EasyExcel实现excel导出(多sheet)
EasyExcel官方地址: EasyExcel官方文档 - 基于Java的Excel处理工具 | Easy ExcelEasyExcel是一个基于Java的.快速.简洁.解决大文件内存溢出的Exce ...
- js-xlsx 读取和导出excel实现前端 Excel 导出(支持多 sheet)
之前写文章介绍了使用 js-xlsx 实现导入 excel 的功能,现在再介绍一下如何使用 js-xlsx 进行 excel 导出. [实现步骤] 1. 首先安装依赖 npm install xlsx ...
最新文章
- [20180408]那些函数索引适合字段的查询.txt
- 热点账户问题和常用解决方案【上】
- 虚拟机ubuntu搭建ftp服务器配置,虚拟机VMware15 Ubuntu18.04 搭建FTP服务器
- 内容营销的21条黄金法则
- AppCompat DayNight theme
- python求txt文件内平均值_使用Python计算.txt文件中的数字的平均值
- vector的简单实现
- Java并发编程之堵塞队列介绍以及SkipList(跳表)
- Swing写qq聊天软件(想要QQ表情@我呦)
- java thread detach_Java多线程小结
- 计算机的硬盘材料,电脑坏了把硬盘资料转移到新硬盘的方法
- 论文管理软件 Zotero 备忘
- xp系统整个计算机非常慢,xp系统电脑运行慢太卡了怎么办|xp系统运行卡顿的解决方法...
- 向量场的散度和旋度_矢量场散度和旋度的物理意义
- html 显示动态时间
- [Excel函数] INDEX函数 | MATCH函数
- 网页设计css导航链接怎么做,如何用DIV+CSS制作导航条
- Scrapy入门到放弃06:Spider中间件
- 折线和柱状(自定义图案)结合
- 安卓苹果通用高兼容性蓝牙耳机,双11新款高人气蓝牙耳机推荐
热门文章
- DPDK笔记 RSS(receive side scaling)网卡分流机制
- 轻松解决远程链接的“Gtk-WARNING **: cannot open display;”或“Cannot connect to display;”问题
- 数据可视化的图表实现
- python怎么和数据库连接_Java和Python都怎么连接数据库
- 地图标记点击成超链接_纯干货!株洲100多家美食地图!国庆收藏!
- python计算器程序代码_7_python之路之python计算器
- java设计模式之美_《设计模式之美》-笔记
- 语言防止鼠标连点_全球化设计系列 | 多语言设计的“小锦囊”
- 散粉在哪个步骤用_底妆的正确步骤是什么?花三分钟带你破译底妆密码
- OpenShift 4 - Fedora CoreOS (5) - CoreOS的常规操作