java excel row遍历空_用Java巧妙的解析Excel中的POI
原标题:用Java巧妙的解析Excel中的POI
相信各位小伙伴们,在做Java开发的时候,有时候会需要你用Java语言去解析Excel中的POI,这个时候肯定很多小伙伴们会懵逼,那么究竟是怎么实现的呢?本文就这个问题做了一个详细解析。
引入依赖:
解析代码:
public static void main(String[] args) {
// 【读取】------------------------------------------------------------
// 从 template.xls 文件中读取数据,并保存到 ArrayList 中后打印输出。
ArrayList list = new ArrayList();
try {
// 1、获取文件输入流
InputStream inputStream = new FileInputStream("/Users/hrvy/temp/template.xls");
// 2、获取Excel工作簿对象
HSSFWorkbook workbook = new HSSFWorkbook(inputStream);
// 3、得到Excel工作表对象
HSSFSheet sheetAt = workbook.getSheetAt(0);
// 4、循环读取表格数据
for (Row row : sheetAt) {
// 首行(即表头)不读取
if (row.getRowNum() == 0) {
continue;
}
// 读取当前行中单元格数据,索引从0开始
String country = row.getCell(0).getStringCellValue();
String province = row.getCell(1).getStringCellValue();
String city = row.getCell(2).getStringCellValue();
Area area = new Area();
area.setCountry(country);
area.setProvince(province);
area.setCity(city);
list.add(area);
}
System.out.println(list.toString());
// 5、关闭流
workbook.close();
} catch (IOException e) {
e.printStackTrace();
}
// 【写出】------------------------------------------------------------
// 新建一个 template_copy.xls 文件,并将 ArrayList 中的数据写入 template_copy.xls 文件
// 1.在内存中创建一个excel文件
HSSFWorkbook workbook = new HSSFWorkbook();
// 2.创建工作簿
HSSFSheet sheet = workbook.createSheet();
// 3.创建标题行
HSSFRow titlerRow = sheet.createRow(0);
titlerRow.createCell(0).setCellValue("国家copy");
titlerRow.createCell(1).setCellValue("省份copy");
titlerRow.createCell(2).setCellValue("城市copy");
// 4.遍历数据,创建数据行
for (Area area : list) {
// 获取最后一行的行号
int lastRowNum = sheet.getLastRowNum();
// 添加新行
HSSFRow dataRow = sheet.createRow(lastRowNum + 1);
dataRow.createCell(0).setCellValue(area.getCountry());
dataRow.createCell(1).setCellValue(area.getProvince());
dataRow.createCell(2).setCellValue(area.getCity());
}
// 5.创建文件名
String fileName = "template_copy.xls";
// 6.获取输出流对象
OutputStream outputStream;
try {
outputStream = new FileOutputStream("/Users/hrvy/temp/" + fileName);
// 7.写出文件,关闭流
workbook.write(outputStream);
workbook.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
责任编辑:
java excel row遍历空_用Java巧妙的解析Excel中的POI相关推荐
- java 多态判断非空_收藏Java 面试题全梳理
脚本之家 你与百万开发者在一起 来源 | Java建设者(ID:javajianshe) 作者 |cxuan 如若转载请联系原公众号 Java 基础篇 Java 有哪些特点 并发性的:你可以在其中执行 ...
- java excel row遍历空_Java poi读取,写入Excel,处理row和cell可能为空的情况
首先需要导入包 import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.NP ...
- 【源码+图片素材】Java王者荣耀游戏开发_开发Java游戏项目【王者荣耀】1天搞定!!!腾讯游戏_Java课程设计_Java实战项目_Java初级项目
王者荣耀是当下热门手游之一,小伙伴们是否想过如何制作一款属于自己的王者荣耀游戏呢? 本课程讲解了一个王者荣耀游戏的详细编写流程,即使你是刚入门Java的新手,只要你简单掌握了该游戏所需要的JavaSE ...
- jpa oracle 传参int类型判空_企业级Java开发之图解JPA核心构件
编者按: 企业级的软件开发中,Java一直都是中流砥柱.在Java EE8之后,Oracle公司把企业级Java标准控制权转交Eclipse基金.最新或·和以后的企业级Java将冠名为Jakarta ...
- java 对象验证非空_判断Bean对象指定字段非空
判断Bean对象指定字段非空. 方案: 在bean对象上增加注解,指定字段非空,返回异常信息有明确字段描述,省去不必要的if.else判断. 新建注解类 /** * 参数校验,判断字段非空.返回异常文 ...
- java 多态判断非空_跳槽涨薪季面试题之java基础(一)
点击上方[全栈开发者社区]→右上角[...]→[设为星标⭐] 为迎接金九银十跳槽涨薪季,小编汇总了java精编版面试题,大概从java基础.java8特性.多线程.spring.springboot. ...
- java 序列化成xml文件_将Java对象序列化成JSON和XML格式
1.先定义一个Java对象Person: public class Person { String name; int age; int number; public String getName() ...
- java高并发面试题目_列举Java高并发面试题附答案解析
Java高并发面试题是程序员面试过程中的必修课,只有熟练掌握这些技术要点,在我们的学习中才会脱颖而出,在这里,达内石家庄Java培训老师作深入解答. Java并发面试题附答案 1. 什么是原子操作?在 ...
- java的for循环嵌套_优化Java的for循环嵌套的高效率方法
两个list中分别装有相同的对象数据. list1中有3万条对象数据. list2中有2万条对象数据(但是对象中的某个属性变量为空).两个list中的id或者其他变量都一模一样.请用最快的方式找出li ...
最新文章
- Eclipse创建struts.xml
- 【 Notes 】COMPARISON OF BASIC METHODS AND POSITIONING SYSTEMS
- 【剑指offer-Java版】16反转链表
- div的visibility和display属性区别
- Altium designer中电路图保存在word中
- django后台接收form-data 格式上传的文件
- 《leetcode》reverse-integer
- 人生致命的八个经典问题
- CV中的色彩空间大全
- 痞子衡嵌入式:极易上手的可视化wxPython GUI构建工具(wxFormBuilder)
- 行为型设计模式(1)—— 责任链模式(Chain of Responsibility Pattern)
- svm中的数学和算法
- Spring深入学习之IOC与AOP
- 附录G 标准模板库方法和函数
- 共享该文件当前不能用户此计算机,局域网共享常见问题解决汇集
- Spring Festival
- 智掌柜扫码点单,帮助店家解决开店烦恼
- uni.app开发物联网小程序
- Git步步进阶---Git tag操作全解析
- Linux系统部署apk配置nginx