java xssfworkbook_java - poi(XSSFWorkbook)读取excel(.xlsx)文件
经过一番搜索发现,java操纵excel文件常用的有jxl和poi两种方式,孰好孰坏看自己需求而定。
其中最主要的区别在于jxl不支持.xlsx,而poi支持.xlsx
这里介绍的使用poi方式(XSSFWorkbook),实际上poi提供了HSSFWorkbook和XSSFWorkbook两个实现类。区别在于HSSFWorkbook是针对.xls文件,XSSFWorkbook是针对.xslx文件。
一、基本概念
先创建一个工作簿,一个工作簿可以有多个工作表,一个工作表可以有多个行,一个行可以有多个单元格
工作簿 ----------->XSSFWorkbook
工作表 ----------->XSSFSheet
行 ----------->XSSFRow
单元格 ----------->XSSFCell
二、student.xlsx的内容
三、导入依赖
org.apache.poi
poi
4.1.0
org.apache.poi
poi-ooxml
4.1.0
四、读取student.xlsx文件代码
import org.apache.poi.xssf.usermodel.*;importjava.io.FileInputStream;importjava.io.IOException;public classTestExcel1 {public static voidmain(String[] args) {try{//创建工作簿
XSSFWorkbook xssfWorkbook = new XSSFWorkbook(new FileInputStream("D:\\test-excel\\student.xlsx"));
System.out.println("xssfWorkbook对象:" +xssfWorkbook);//读取第一个工作表(这里的下标与list一样的,从0开始取,之后的也是如此)
XSSFSheet sheet = xssfWorkbook.getSheetAt(0);
System.out.println("sheet对象:" +sheet);//获取第一行的数据
XSSFRow row = sheet.getRow(0);
System.out.println("row对象:" +row);//获取该行第一个单元格的数据
XSSFCell cell0 = row.getCell(0);
System.out.println("cello对象:" +cell0);
}catch(IOException e) {
e.printStackTrace();
}
}
}
控制台输出结果:可以发现具体到行对象时,就解析成xml文件了
xssfWorkbook对象:
Name: /xl/workbook.xml - Content Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml
sheet对象:
Name: /xl/worksheets/sheet1.xml - Content Type: application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml
row对象:
0
1
2
3
cello对象:姓名
五、整个表的所有数据
以上可以实现了读取某行某单元格的数据,那么接下来就该读取整个表的所有数据了
importorg.apache.poi.xssf.usermodel.XSSFCell;importorg.apache.poi.xssf.usermodel.XSSFRow;importorg.apache.poi.xssf.usermodel.XSSFSheet;importorg.apache.poi.xssf.usermodel.XSSFWorkbook;importjava.io.FileInputStream;importjava.io.IOException;
public classTestExcel2 {public static voidmain(String[] args) {try{//创建工作簿
XSSFWorkbook xssfWorkbook = new XSSFWorkbook(new FileInputStream("D:\\test-excel\\student.xlsx"));
System.out.println("xssfWorkbook对象:" +xssfWorkbook);//读取第一个工作表
XSSFSheet sheet = xssfWorkbook.getSheetAt(0);
System.out.println("sheet对象:" +sheet);//获取最后一行的num,即总行数。此处从0开始计数
int maxRow =sheet.getLastRowNum();
System.out.println("总行数为:" +maxRow);for (int row = 0; row <= maxRow; row++) {//获取最后单元格num,即总单元格数 ***注意:此处从1开始计数***
int maxRol =sheet.getRow(row).getLastCellNum();
System.out.println("--------第" + row + "行的数据如下--------");for (int rol = 0; rol < maxRol; rol++){
System.out.print(sheet.getRow(row).getCell(rol)+ " ");
}
System.out.println();
}
}catch(IOException e) {
e.printStackTrace();
}
}
}
控制台输出:
xssfWorkbook对象:Name: /xl/workbook.xml - Content Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml
sheet对象:Name:/xl/worksheets/sheet1.xml - Content Type: application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml
总行数为:2
--------第0行的数据如下--------姓名 学号 班级 入学日期--------第1行的数据如下--------张三2.0190001E7 三班 01-八月-2019
--------第2行的数据如下--------李四2.0190002E7 三班 01-八月-2019
java xssfworkbook_java - poi(XSSFWorkbook)读取excel(.xlsx)文件相关推荐
- java使用poi(XSSFWorkbook)读取excel(.xlsx)文件
其中最主要的区别在于jxl不支持.xlsx,而poi支持.xlsx 这里介绍的使用poi方式(XSSFWorkbook),实际上poi提供了HSSFWorkbook和XSSFWorkbook两个实现类 ...
- java poi XSSFWorkbook读写Excel xlsx文件所需jar包一览
所需jar包(全部都在poi-5.0.0包及其子包下): * 1.poi-5.0.0 * 2.poi-ooxml-5.0.0 * 3.poi-ooxml-lite-5.0.0 * 4.lib\ ...
- java的poi技术读取Excel[2003-2007,2010]
这篇blog主要是讲述java中poi读取excel,而excel的版本包括:2003-2007和2010两个版本, 即excel的后缀名为:xls和xlsx. 读取excel和MySQL相关: ja ...
- python读取xlsx文件找不到_在python中打开并读取excel .xlsx文件
我正在尝试使用python打开一个excel .xlsx文件,但我无法找到办法,我尝试使用pandas但是它想要使用一个名为NumPy的库我试图安装numpy但它仍然可以找不到. 我也尝试过使用xlr ...
- java通过POI快速读取excel大量数据的方式
1.在pom.xml中引入poi相关依赖 <dependency><groupId>cn.afterturn</groupId><artifactId> ...
- java不用poi怎么读取excel,java-无法使用Apache POI读取Excel
您必须包括poi jar文件.它的版本将是4.1.0.如果使用的是Maven pom.xml,请包括以下依赖项. org.apache.poi poi-ooxml 4.1.0 org.apache.p ...
- golang 读取excel(xlsx文件) 时间格式解析
问题起源 最近在写一个读取xlsx文件,并解析其中数据的项目,在所有的数据都就绪之后,却遇到了时间格式获取不正确的问题 时间格式 我查询到的结果 我的代码 func main() {f, err := ...
- java利用poi生成/读取excel表格
1.引入jar包依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</ ...
- java读取excel大文件
在读取excel大文件的时候就不能再使用poi包下面的Workbook类,会造成OOM等问题. 我们常见的excel分为xlsx格式和csv格式.分别实现一下. xlsx格式处理. 需要的pom依赖: ...
- Java 后端将上传的 csv 文件转为 Excel xlsx 文件
一.概述 本地文件是 csv格式,将其转成 xlsx 或者 xls. 二.实现步骤 2.1 获取 csv 文件数据 由于前端的上传文件的数据类型是 MultipartFile,所以就通过获取输入流的方 ...
最新文章
- 安装Qt creator时出现 无法定位程序输入点_except1 于动态链接库MSVCR120.dll上
- python为什么中文要encoding-python2.x 默认编码问题
- [C#1] 10-事件
- PaddleOCR——DEMO
- android 过滤emoji表情符号,android怎样过滤字符串中的emoji表情
- python开发工具管理系统_Python开发桌面软件文档及网址管理工具,强迫症的福音...
- ntp的学习笔记001
- html 表格是网页中的数据,用 Pandas 读写网页中的 HTML 表格数据
- nodejs学习笔记-入门helloworld
- mysql error 28,MySQL错误:Got error 28 from storage engine
- BZOJ2301[HAOI2011] Problem b
- 华为eNSP模拟器中两个路由器IP互联
- java佳沃自行车怎么样_JAVA佳沃这个车怎么样最近想入
- 萌翻全场!硕士爸爸怀抱1岁萌娃参加毕业典礼:带他提前20年体验毕业
- 中国首届微博开发者大会
- linux更新网卡驱动版本,Linux中升级网卡驱动
- js将页面转成PDF文档
- NEON技术粗浅认识
- itext html转换为pdf排版错乱,使用iText库将html转换为pdf时不适用hr的Inline CSS
- (简单)华为畅享8e DRA-AL00的Usb调试模式在哪里打开的步骤