POI实现json字符串解析后导出到excel
来源:互联网 发布:vga矩阵切换器24进 编辑:程序博客网 时间:2024/06/05 06:31
POI介绍
Apache POI 实现了java对Microsoft office文件的读写,以下只讲excel
POI需要的包
poi-3.8-20120326.jar
poi-ooxml-3.8-20120326.jar
pom.xml文件
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.16</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.16</version> </dependency>
POI基本语法(参考poi API)
- 创建WorkBook
Workbook wb = new HSSFWorkbook(); //导出到项目文件夹的workbook.xls文件 FileOutputStream fileOut = new FileOutputStream("workbook.xls"); wb.write(fileOut); fileOut.close(); Workbook wb = new XSSFWorkbook(); //导出到项目文件夹的workbook.xlsx文件 FileOutputStream fileOut = new FileOutputStream("workbook.xlsx"); wb.write(fileOut); fileOut.close();
- 创建sheet页
Workbook wb = new HSSFWorkbook(); // or new XSSFWorkbook(); Sheet sheet1 = wb.createSheet("new sheet");// 创建第一个sheet页 sheet1 Sheet sheet2 = wb.createSheet("second sheet");// 创建第二个sheet页 sheet2 FileOutputStream fileOut = new FileOutputStream("workbook.xls"); wb.write(fileOut); fileOut.close();
- 创建单元格
Workbook wb = new HSSFWorkbook(); //Workbook wb = new XSSFWorkbook(); CreationHelper createHelper = wb.getCreationHelper(); Sheet sheet = wb.createSheet("new sheet"); // 在这个sheet页创建一行,从0开始 Row row = sheet.createRow((short)0); // 在这一行创建一个单元格,在0号位 Cell cell = row.createCell(0); // 给这个单元格赋值为1 cell.setCellValue(1); // Write the output to a file FileOutputStream fileOut = new FileOutputStream("workbook.xls"); wb.write(fileOut); fileOut.close();
读取模板
//excel模板路径 File fi=new File("template.xls"); InputStream in = new FileInputStream(fi); //读取excel模板 XSSFWorkbook wb = new XSSFWorkbook(in); //读取了模板内所有sheet内容 XSSFSheet sheet = wb.getSheetAt(0);
这样就实现了模板的读取,之后在这个sheet页创建row的时候只需要跳过模板的头几行进行创建即可
注意事项
在创建单元格时当你读取的值为空,需要提供一个判定,将空转换为空格
row.createCell(108).setCellValue(isEmpty(jsonArray.getJSONObject(0).getString(“shoushushijian”)));
private static String isEmpty(Object pObj) { if(pObj == null) { return " "; } else if(pObj == "") { return " "; } else { if(pObj instanceof String) { if(((String)pObj).length() == 0) { return " "; } } return (String)pObj; } }
个人在项目中遇到的小情况
tip1: json中可能没有这个键的时候使用containsKey进行判断是否存入到单元格
if (jsonArray.getJSONObject(j).containsKey(“key”))
tip2:有的json串不能转成jsonArray时在两边加上 [ ] 就能转换了
JSONArray jiwang = jsonArray.parseArray(“[” + jsonArray.getJSONObject(j).getString(“jiwang”) + “]”);
tip3:导出时如果没有对应的文件夹,会报异常,应该建立对应的文件夹
tip4:和前端良好的沟通能剩下许多修改代码的时间
阅读全文
1 0
- POI实现json字符串解析后导出到excel
- SpringMVC实现poi 解析excel 导入导出
- SpringMVC实现poi 解析excel 导入导出
- POI导出数据到EXCEL经典实现
- POI实现数据导出到Excel
- poi报表实现,导出到excel文件
- poi实现java导出成绩表到excel
- poi 实现Excel导出到本地
- POI+Maven实现数据导出到Excel
- poi实现数据库数据导出到excel
- poi导出到excel
- POI导出到Excel
- java poi 解析excel 输出json 并且拼接字符串显示到jsp
- POI 实现导出Excel
- POI导出EXCEL实现
- POI 实现导出Excel
- EXCEL导出POI实现
- java 导出到excel----POI
- 网络通讯组件包Red Carpet Subscriptions 2017 v2发布,升级整个代码库
- 长期运行程序的文件描述符泄漏问题
- 开始
- RDD和Mysql互相操作
- HDU 4427 Math Magic(DP)
- POI实现json字符串解析后导出到excel
- python可变参数之*args和*kwargs学习回顾
- 人见人爱A^B
- 项目中与php后台交接接口 javabean与请求返回的数据类型不匹配导致的出错
- LeetCode
- PHP获取 ,根目录,当前文件路径,上层目录路径 ,文件名,扩展名
- Linux 缺少库,查找库的安装包的方法
- 前端的BFC、IFC、GFC和FFC
- 政史特长生友谊赛Round3题解