java访问excel表格_Java读取excel表格(示例代码)
Java读取excel表格
一般都是用poi技术去读取excel表格的,但是这个技术又是什么呢
什么是Apache POI?
Apache POI是一种流行的API,它允许程序员使用Java程序创建,修改和显示MS Office文件。这由Apache软件基金会开发使用Java分布式设计或修改Microsoft Office文件的开源库。它包含类和方法对用户输入数据或文件到MS Office文档进行解码。
Apache POI
Apache POI是Apache软件基金会提供的100%开源库。大多数中小规模的应用程序开发主要依赖于Apache POI(HSSF+ XSSF)。它支持Excel 库的所有基本功能; 然而,呈现和文本提取是它的主要特点。
工作簿
这是创建或维护Excel工作簿的所有类的超接口。它属于org.apache.poi.ss.usermodel包。是实现此接口的两个类,如下所示:
HSSFWorkbook : 这个类有读取和.xls 格式和写入Microsoft Excel文件的方法。它与微软Office97-2003版本兼容。
XSSFWorkbook : 这个类有读写Microsoft Excel和OpenOffice的XML文件的格式.xls或.xlsx的方法。它与MS-Office版本2007或更高版本兼容。
HSSFWorkbook
它是在org.apache.poi.hssf.usermodel包的高层次的类。它实现了Workbook 接口,用于Excel文件中的.xls格式。下面列出的是一些本类下的方法和构造函数。
类的构造函数
S.No.构造函数和说明
1
HSSFWorkbook()
从头开始创建一个新的HSSFWorkbook对象时。
2
HSSFWorkbook(DirectoryNode directory, boolean preserveNodes)
创建一个特定的目录中一个新的HSSFWworkbook对象。
3
HSSFWorkbook(DirectoryNode directory, POIFSFileSystem fs, boolean preserveNodes)
给定一个POIFSFileSystem对象和特定的目录中,它创建了一个SSFWorkbook对象读取指定的工作簿。
4
HSSFWorkbook(java.io.InputStream s)
创建使用输入流中的新HSSFWorkbook对象时。
5
HSSFWorkbook(java.io.InputStream s, boolean preserveNodes)
构建在输入流的POI文件系统。
6
HSSFWorkbook(POIFSFileSystem fs)
使用POIFSFileSystem对象构造的新HSSFWorkbook对象时。
7
HSSFWorkbook(POIFSFileSystem fs, boolean preserveNodes)
给定一个POIFSFileSystem对象时,它会创建一个新的HSSFWorkbook对象时读取指定的工作簿。
这些构造内的常用参数:
directory : 这是从POI文件系统处理的目录。
fs :它是包含簿流该POI的文件系统。
preservenodes : 这是决定是否保留其他节点像宏的可选参数。它消耗大量的内存,因为它存储在内存中的所有POIFileSystem(如果设置)。
注意:HSSFWorkbook类包含了许多方法;然而,它们仅与XLS格式兼容。在本教程中,重点是在Excel文件格式的最新版本。因此,HSSFWorkbook类的方法,这里没有列出。如果需要这些类的方法,那么请参照POI-HSSFWorkbook类API在 https://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFWorkbook.html.
XSSFWorkbook
它是用于表示高和低层次Excel文件格式的类。它属于org.apache.xssf.usemodel包,并实现Workbook接口。下面列出的是这个类的方法和构造函数。
类的构造函数
S.No.构造函数和说明
1
XSSFWorkbook()
从头开始创建一个新的XSSFworkbook对象。
2
XSSFWorkbook(java.io.File file)
构造从给定文件中的XSSFWorkbook对象。
3
XSSFWorkbook(java.io.InputStream is)
构造一个XSSFWorkbook对象,通过缓冲整个输入流到内存中,然后为它打开一个OPCPackage对象。
4
XSSFWorkbook(java.lang.String path)
构建一个给定文件的完整路径的XSSFWorkbook对象。
Sheet
Sheet是在org.apache.poi.ss.usermodel包的接口,它是创建具有特定名称的高或低级别的电子表格的所有类的超接口。电子表格的最常见的类型是工作表,它被表示为单元的网格。
HSSFSheet
这是在org.apache.poi.hssf.usermodel包的类。它可以创建Excel电子表格,它允许在sheet 方式和表数据格式。
类的构造函数
S.No.构造函数及描述
1
HSSFSheet(HSSFWorkbook workbook)
创建新HSSFSheet通过调用HSSFWorkbook从头开始创建一个表。
2
HSSFSheet(HSSFWorkbook workbook, InternalSheet sheet)
创建HSSFSheet表示给定表对象。
XSSFSheet
这是代表了Excel电子表格的高级别代表的一类。这在org.apache.poi.hssf.usermodel包下。
类的构造函数
S.No.构造函数及描述
1
XSSFSheet()
创造了新的XSSFSheet- 调用XSSFWorkbook从头开始创建一个表。
2
XSSFSheet(PackagePart part, PackageRelationship rel)
创建XSSFSheet表示给定包的一部分和关系。
类方法
S.No.方法和描述
1
addMergedRegion(CellRangeAddress region)
添加单元的合并区域(因此这些单元格合并形成一个)。
2
autoSizeColumn(int column)
调整列宽,以适应的内容。
3
iterator()
此方法是用于rowIterator()的别名,以允许foreach循环
4
addHyperlink(XSSFHyperlink hyperlink)
注册超链接的集合中的超链接此工作表格上
行
这是在org.apache.poi.ss.usermodel包的接口。它是用于一排的电子表格的高层表示。它是代表了POI库的行所有类的超接口。
XSSFRow
这是在org.apache.poi.xssf.usermodel包的类。它实现了Row接口,因此它可以在电子表格中创建行。下面列出的是这个类在方法和构造函数。
类方法
S.No.描述
1
createCell(int columnIndex)
创建新单元行并返回。
2
setHeight(short height)
设置短单位的高度。
单元格
这是在org.apache.poi.ss.usermodel包的接口。它是代表了单元在电子表格中的行中的所有类的超接口。
单元格可以使用各种属性,例如空白,数字,日期,错误等单元格被添加到一个行之前应具有(基于0)自己的编号。
XSSFCell
这是在 org.apache.poi.xssf.usermodel 包的类。它实现了单元格界面。它是单元在电子表格中的行的一个高层次的表示。
现在我用Java实现读取excel表格
代码实现
public static void excel() throwsException {//用流的方式先读取到你想要的excel的文件
FileInputStream fis=new FileInputStream(new File(System.getProperty("user.dir")+"/src/excel.xls"));//解析excel
POIFSFileSystem pSystem=newPOIFSFileSystem(fis);//获取整个excel
HSSFWorkbook hb=newHSSFWorkbook(pSystem);
System.out.println(hb.getNumCellStyles());//获取第一个表单sheet
HSSFSheet sheet=hb.getSheetAt(0);//获取第一行
int firstrow=sheet.getFirstRowNum();//获取最后一行
int lastrow=sheet.getLastRowNum();//循环行数依次获取列数
for (int i = firstrow; i < lastrow+1; i++) {//获取哪一行i
Row row=sheet.getRow(i);if (row!=null) {//获取这一行的第一列
int firstcell=row.getFirstCellNum();//获取这一行的最后一列
int lastcell=row.getLastCellNum();//创建一个集合,用处将每一行的每一列数据都存入集合中
List list=new ArrayList<>();for (int j = firstcell; j
Cell cell=row.getCell(j);if (cell!=null) {
System.out.print(cell+"\t");
list.add(cell.toString());
}
}
User user=newUser();if (list.size()>0) {
user.setUsername(list.get(1));
user.setPassword(list.get(2));
}
BaseDAO dao=newBaseDAO();
dao.save(user);
System.out.println();
}
}
fis.close();
}
java访问excel表格_Java读取excel表格(示例代码)相关推荐
- java 读取excel表格_Java读取excel表格(原理+实现)
一般都是用poi技术去读取excel表格的 什么是Apache POI? Apache POI是一种流行的API,它允许程序员使用Java程序创建,修改和显示MS Office文件.这由Apache软 ...
- java 读取excel列_Java读取Excel指定列的数据详细教程和注意事项
本文使用jxl.jar工具类库实现读取Excel中指定列的数据. jxl.jar是通过java操作excel表格的工具类库,是由java语言开发而成的.这套API是纯Java的,并不依赖Windows ...
- java读取excel数据_Java读取Excel内容(转)
借助于apathe的poi.jar,由于上传文件不支持.jar所以请下载后将文件改为.jar,在应用程序中添加poi.jar包,并将需要读取的excel文件放入根目录即可 本例使用java来读取exc ...
- java代码读取excel文件_Java 读取excel 文件流代码实例
这篇文章主要介绍了Java 读取excel 文件流代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下 public static vo ...
- java 读excel 流_Java 读取excel 文件流代码实例
这篇文章主要介绍了Java 读取excel 文件流代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下public static voi ...
- java访问本地文件_java 读取本地文件 更改
/*** @Title: MakeHtml * @Description: 创建html *@paramfilePath 设定模板文件 *@paramconent 替换的内容 *@paramdisrP ...
- java继承类大全_Java 面向对象继承部分(示例代码)
被继承的类称为父类(超类),继承父类的类称为子类(派生类) 通过继承可以实现代码重用 子类拥有父类非 private 的属性.方法. 子类可以拥有自己的属性和方法,即子类可以对父类进行扩展. 子类可以 ...
- python读取excel表格-python读取excel表格中的数据
使用python语言实现Excel 表格中的数据读取,需要用到xlrd.py模块,实现程序如下: import xlrd #导入xlrd模块 class ExcelData(): def __init ...
- java获取xlsx某列数据_Java读取Excel指定列的数据详细教程和注意事项
本文使用jxl.jar工具类库实现读取Excel中指定列的数据. jxl.jar是通过java操作excel表格的工具类库,是由java语言开发而成的.这套API是纯Java的,并不依赖Windows ...
最新文章
- 【论文笔记】李盟, et al. 一种恶意代码特征选取和建模方法. 计算机应用与软件 08(2015):272-277.
- 班尼机器人怎么拆_512个焊点独自焊完,武汉一高中生在机器人比赛中摘得五块奖牌...
- 利用Android Studio的 Monitor Memory 查找内存泄漏
- 如何查找BAPI SD_SALESDOCUMENT_CHANGE里字段对应的数据库存储表
- 《软件工程导论》课后习题解答
- Tcp与Ip协议的客户端和服务器编程
- 二分k均值 matlab,Matlab函数kmeans:K-均值聚类
- 企业级数据库备份方案完全攻略
- C++/C中的小知识备忘
- 文档权限服务器上,服务器上的权限
- NDK开发简单demo
- 【DPDK峰会回顾】支撑双十一的高性能负载均衡是如何炼成的
- linux vi命令怎么使用方法,linux vi命令的使用方法
- JS基础-下拉菜单案例
- Linux自动启动ssh方法
- 图片轮播——Swiper实例
- python 常用的内置模块
- python列表切片习题(一)
- 解决浏览器驱动和浏览器版本不匹配的报错:This version of ChromeDriver only supports Chrome version 97
- pdfpcell 怎么设置单元格大小_word怎么设置单元格大小