Poi操作Excel
/** 将所有数据导出成Excel,让客户知道哪些记录是异常的(异常的变红色) */
public void exportExcel(ArrayList<ToolImport> prisonerImportList, String dir, String filename) {
dir = dir + "/" + filename + ".xls";// 上传至服务器
File file = new File(dir);
if (file.exists()) {
file.delete();
file = new File(dir);
}
OutputStream output = null;
try {
output = new FileOutputStream(file);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
// 1.工作表
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("Sheet-1");
wb.setSheetName(0, "工具导入-1", HSSFCell.ENCODING_UTF_16);
// HSSFCellStyle setBorder = wb.createCellStyle();
String[] colArray = { "序号", "分监区", "工具编号", "工具名称", "分监区编号",
"固定/流动", "安装位置", "备注", "异常信息" };
// 以下以写表头,表头为第一行
HSSFCellStyle titleStyle = wb.createCellStyle();
titleStyle.setFillForegroundColor(HSSFColor.AQUA.index);
titleStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
HSSFRow row0 = sheet.createRow((short) 0);
HSSFCell cell0 = row0.createCell((short) 0);
row0.setHeight((short)800); //设置行高
Region region1 = new Region(0, (short) 0, 0, (short) 8);//合并单元格
sheet.addMergedRegion(region1);
//setBorder.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 居中
//setBorder.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 居中
titleStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
titleStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
cell0.setEncoding((short) 1);
cell0.setCellStyle(titleStyle);
cell0.setCellValue("工具清点管理系统——工具导入");
sheet.setColumnWidth((short)0, (short)2000); // 设置列宽
sheet.setColumnWidth((short)1, (short)4500);
sheet.setColumnWidth((short)2, (short)4500);
sheet.setColumnWidth((short)3, (short)4500);
sheet.setColumnWidth((short)4, (short)4500);
sheet.setColumnWidth((short)5, (short)4500);
sheet.setColumnWidth((short)6, (short)4500);
sheet.setColumnWidth((short)7, (short)4500);
sheet.setColumnWidth((short)8, (short)12000);
// setBorder.setAlignment(HSSFCellStyle.ALIGN_LEFT); // 居中
// setBorder.setAlignment(HSSFCellStyle.ALIGN_LEFT); // 居中
//sheet.addMergedRegion(new Region(0,(short)1,1,(short)2));//
HSSFRow row = sheet.createRow((short) 1);
for (int i = 0; i < colArray.length; i++) {// 填写列标题
HSSFCell cell = row.createCell((short) i);
cell.setEncoding((short) 1);
// cell.setCellStyle(titleStyle);
cell.setCellValue(colArray[i]);
}
// 从Excel的第二行开始填充数据
// 定义红色字体单元格
HSSFFont font = wb.createFont();
font.setColor(HSSFFont.COLOR_RED);
HSSFCellStyle cellStyles = wb.createCellStyle();
cellStyles.setFont(font);
for (int i = 0; i < prisonerImportList.size(); i++) {
// 定义数据从第二行开始
ToolImport vo = prisonerImportList.get(i);
row = sheet.createRow((short) i + 2);
for (int j = 0; j < colArray.length; j++) {
HSSFCell cell = row.createCell((short) j);
cell.setEncoding((short) 1);
if (StringUtils.isNotBlank(vo.getValidateStr())) { // 填充单元格为红色字体
cell.setCellStyle(cellStyles);
}
switch (j) {
case 0:
cell.setCellValue(i + 1);
break;
case 1:
cell.setCellValue(vo.getAreaname());
break;
case 2:
cell.setCellValue(vo.getInnerNo());
break;
case 3:
cell.setCellValue(vo.getToolName());
break;
case 4:
cell.setCellValue(vo.getAreaNo());
break;
case 5:
cell.setCellValue(vo.getToolType());
break;
case 6:
cell.setCellValue(vo.getIsWhere());
break;
case 7:
cell.setCellValue(vo.getRemark());
break;
case 8:
cell.setCellValue(vo.getValidateStr());
break;
}
}
}
try {
wb.write(output);
} catch (IOException e) {
e.printStackTrace();
}
try {
output.flush();
output.close();
} catch (IOException e) {
e.printStackTrace();
}
}
转载于:https://www.cnblogs.com/shijiaoyun/p/3920098.html
Poi操作Excel相关推荐
- Java - Poi 操作 Excel
Java - Poi 操作 Excel 关注 "弋凡"(YiFan)微信公众号吧 记录简单笔记 做你的最爱 注意 XSSFWorkbook 对象是操作 .xlsx 格式的表格 HS ...
- Apache POI操作Excel导出JAVABEAN对象方法
2019独角兽企业重金招聘Python工程师标准>>> Apache POI操作Excel导出方法说明 Apache的POI组件是Java操作Microsoft Office办公套件 ...
- Apache POI操作Excel的坑
本文记录一下用Apache POI操作Excel时可能遇到一些坑. excel版本错误 首先是excel版本问题,由于office excel 03版和07版的区别,在读取文件时如果版本不匹配会报以下 ...
- 【web开发】☆★之利用POI操作Excel表格系列教程【6】遍历工作簙行和列取值
[web开发]☆★之利用POI操作Excel表格系列教程[6]遍历工作簙行和列取值 package com.xiaoye.demo; import java.io.FileInputStream; i ...
- java apache.poi_Java利用apache的POI操作Excel
最近在写一些报表的活,顺便总结下...第一篇博文,希望多多指教. 项目中经常会设计到一些数据的报表问题,目前java中操作Excel的插件也有很多 ,我说下用apache的POI操作Excel的方法. ...
- POI操作Excel时Cannot get a text value from a numeric formula cell非法参数异常
POI操作Excel时Cannot get a text value from a numeric formula cell非法参数异常 参考文章: (1)POI操作Excel时Cannot get ...
- execle java,Java使用POI操作Excel
Java使用POI操作Excel 1. POI操作Excel 1.1. 依赖 org.apache.poi poi 4.1.0 org.apache.poi poi-ooxml 4.1.0 org.a ...
- Apache POI操作Excel文件
Apache POI是用Java编写的免费开源的跨平台的Java API,Apache POI提供API给Java程序对Microsoft Office格式档案读和写的功能,其中使用最多的就是使用PO ...
- POI操作excel基本使用
不用多说,下面的一个类中就是一些POI操作Excel (xls) 的常见操作.但是真正要生成一些如报表等复杂格式Excel的时候,通常的做法都是事先把格式一切的东西都手动制作好("数据模板& ...
- 自己封装的poi操作Excel工具类
在上一篇文章<使用poi读写Excel>中分享了一下poi操作Excel的简单示例,这次要分享一下我封装的一个Excel操作的工具类. 该工具类主要完成的功能是:读取Excel.汇总Exc ...
最新文章
- 百度重磅发布云手机:低配置也可玩大型游戏 21
- 如何评价创作歌手的业务能力?试试让NLP帮你分析一下
- C# textBox1.Append/Text实现换行
- 基于容器服务的持续集成与云端交付(四)- 多种发布方式
- 计网复习第三章part one
- java word加粗_java word文档进行填充使用 ${xxx} 的形式
- Python之面向对象2
- 从Chrome源码看JS Array的实现
- larave 5 could not be opened: failed to open stream: Permission denied
- 2、服务器系统:Windows Server 2012 操作系统
- mysql 不等于 优化_Mysql优化
- FireFox新标签页打开搜索和书签
- ORACLE AutoVue 服务器/桌面版/WebService/SDK安装
- WebView 入坑
- 什么是数据科学?如何把数据变成产品
- 无依赖单机尝鲜 Nebula Exchange 的 SST 导入
- 【C语言】练习:给出三角形三边长,求三角形面积
- 【ELAMN预测】基于Elman神经网络预测股价附matlab代码
- 如果需要跳槽,自己该怎样去写简历?
- 使命召唤10:幽灵中文版免暗中 未加密破解版下载
热门文章
- “Runtime Error”不产生dump文件的解决办法
- android 闪屏页处理_Android应用闪屏页延迟跳转的三种写法
- centos8 配置 dns_如何在Ubuntu 18.04上设置DNS名称服务器 | linux资讯
- 带你了解PCIE通信原理
- (14)System Verilog范围随机函数
- (29)FPGA原语设计(差分时钟转单端时钟)
- 学计算机修图,宅家修图很简单 手机电脑都可以修出大片的感觉
- ideahtml标签不提示_「系统自带标签」如何帮门店区分价值顾客?| 早8点141期
- Linux内核分析 - 网络[八]:IP协议
- SVD 与 PCA 的直观解释(4): PCA 主成分分析