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获取excle表格对象_Java读取excel表格相关推荐

  1. java页面数值转文本_Java读取Excel表格以及读取数字列转为文本的解决办法

    Java读取Excel表格代码和把数字列转为文本的解决办法. 所需 jar 包:dom4j-1.6.1.jar ,poi-3.8-20120326.jar,poi-ooxml-3.8-20120326 ...

  2. java访问excel表格_Java读取excel表格(示例代码)

    Java读取excel表格 一般都是用poi技术去读取excel表格的,但是这个技术又是什么呢 什么是Apache POI? Apache POI是一种流行的API,它允许程序员使用Java程序创建, ...

  3. java搜索excel表格里的数据_Java读取Excel表格中的数据

    前言 本文主要讲述如何在Java中读取Excel表中的数据并在控制台输出,实现工具为Eclipse 提示:以下是本篇文章正文内容,下面案例可供参考 一.添加jar包文件 描述:在Java中导入导出Ex ...

  4. java实现从excel中提取某行_Java读取excel表格(原理+实现)

    一般都是用poi技术去读取excel表格的,但是这个技术又是什么呢 什么是Apache POI? Apache POI是一种流行的API,它允许程序员使用Java程序创建,修改和显示MS Office ...

  5. java 读取excel表格_Java读取excel表格(原理+实现)

    一般都是用poi技术去读取excel表格的 什么是Apache POI? Apache POI是一种流行的API,它允许程序员使用Java程序创建,修改和显示MS Office文件.这由Apache软 ...

  6. java excel 读取表头_java 读取 excel 表格内容

    一.添加依赖 org.apache.poi poi 3.8 org.apache.poi poi-ooxml 3.8 1 2 3 4 5 6 7 8 9 10 二.工具类 根据文件后缀判断 2003 ...

  7. java excel表格导入_java中excel表格导入实例

    展开全部 需要32313133353236313431303231363533e59b9ee7ad9431333264623165导入jxl.jar (在网上可以下载,然后放到lib文件夹中) 开放分 ...

  8. java获取实体类对象_java 获取实体类对象属性值的方法

    在java中我们要获得实体类对象的属性,一般情况是将实体类中的属性私有化,然后再对外提供get()与set()方法,然后再获取实体类对象的属性的时候先把对象new出来,再用变量名.get()的方法得到 ...

  9. java excel表格导入_Java实现Excel表格的导入和导出(一)

    多说两句:表格的导入导出,是比较常见的系统操作,一般涉及数据批量导入导出时会用到,以前遇到过的业务场景有批量添加会员信息,数据迁移等.实现工具,Apache的poi最为常见.实现简单,博客简单一记. ...

最新文章

  1. java队列怎么实现线程_Java中利用线程和队列实现入库操作
  2. Mysql基础知识:索引
  3. CRM 客户关系管理
  4. Hadoop之资源调度器与任务推测执行
  5. 显示recv调用次数_腾讯云“云开发”日调用超7亿次,只为和开发者“交个朋友”...
  6. windows2k服务和进程详解
  7. 【经验分享】在研究中,你是否踩过这些工程的“坑”?
  8. Docker基本使用(一)
  9. arcgis中python批处理_基于Python的ArcGIS空间数据格式批处理转换工具开发
  10. WPF TreeView的使用
  11. Q115:Linux系统下CodeBlocks对PBRT-V3进行编译和调试
  12. allatori混淆工具_Java 代码混淆工具 Allatori
  13. 简单20行python代码_就这么简单!20行Python代码爬取腾讯视频
  14. org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [org.hiber
  15. 电影影视网站对接微信公众号 日引流500+的实例教学
  16. WIN10打印机显示服务器脱机,win10系统打印机显示脱机状态怎么处理?
  17. python怎么算阶乘_python专家写阶乘 ()用python计算阶乘
  18. ora-12505 监听程序当前无法识别sid
  19. WWDG 窗口看门狗 知识详解
  20. 三极管的基础知识(上)

热门文章

  1. SeaTunnel 在 oppo 的特征平台实践 | ETL 平台数据处理集成
  2. 微信支付退款结果通知(回调) AES-256-ECB解密 代码
  3. win10计算机光驱启动怎么办,win10台式电脑光驱打不开的解决方法 - 系统家园
  4. android 连接隐藏wifi,小技能 | 教你如何连接隐藏了的wifi(最齐全版本)
  5. 饥饿营销?小米紧急叫停小米9发售:因备货不足
  6. (面试智力题)有3箱水果,一箱是苹果,一箱是橘子,一箱是两种水果的混装,三个箱子上都贴了标签,但所有的标签都贴错了 现在你只拿出一个水果来判断3个箱字里的情况
  7. python从键盘上输入五个数字打一成语_python实现成语填字游戏 自动生成题目
  8. Python常用库整理(给自己看的)
  9. 字节跳动-社招2年面试经历(HR面待续哈哈哈)
  10. lnmp部署Ansible部署zabbix6.0版本