Java学习---Excel读写操作
1.1.1. 简介 Apache POI
使用Apache POI 完成Excel读写操作
Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能。
http://poi.apache.org/ 下载POI的jar包 ,包括以下内容
Excel 2003之前 xls 格式文件, Excel2007 文件格式 xlsx ,如果解析Excel,先分清Excel文件版本 ,如果2003之前, 使用HSSF API进行解析 、 如果 2007 Excel 使用 XSSF 进行解析
今天重点学习: HSSF 的 Excel解析 (针对Excel 2003 之前版本 )
下载 POI 3.9 的jar 包,完成Excel 读写操作
docs POI使用文档 (javadoc文档、 规范文档)
学习API : 推荐 POI3.5_HSSF_和XSSF_Excel操作快速入门手册.pdf
lib :相关jar包
ooxml-lib : 解析2007 Office版本文件jar 包
开发POI 最简单方式,导入 poi-3.9-20121203.jar 一个jar包就可以了
1.1.2.使用POI 读写Excel
参考: “POI整理.doc” 进行企业开发
编写代码,完成Excel解析和生成
解析步骤:
Excel文件 ---- HSSFWorkbook 工作薄对象 ---- Sheet --- Row 行--- Cell 单元格
解析时要注意,如果Excel单元格的数据,使用numeric 格式保存,不能使用 getStringCellValue 进行读取 , 使用 getNumericCellValue 进行读取
可以在Excel 设置单元格 数据保存格式 为文本类型,使用 getStringCellValue 进行读取
读取一个Excel文件
// 1、 获得 HSSFWorkbook (针对 xls格式文件 )
HSSFWorkbook hssfWorkbook = new HSSFWorkbook(new FileInputStream("info.xls"));
// 2、获得要解析sheet
HSSFSheet sheet = hssfWorkbook.getSheet("Sheet1"); // 通过名称获得Sheet
HSSFSheet sheet2 = hssfWorkbook.getSheetAt(0);// 获得第一个Sheet,通过下标获得
// 3、解析Sheet中每一行
for (Row row : sheet) {
// 遍历 sheet中每一行
// 4、 打印行 中单元格数据
for (Cell cell : row) {
// 判断单元格数据类型
if (cell.getCellType() == Cell.CELL_TYPE_STRING) {
System.out.println(cell.getStringCellValue());
} else if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC) {
System.out.println(cell.getNumericCellValue());
}
}
// 打印指定单元格的值
System.out.println(row.getCell(1).getStringCellValue());// 打印每行第二个单元格的内容
}
生成一个Excel文件 :
// 写Workbook 工作薄 --- 写Sheet --- 写Row 行 --- 写Cell 单元格
// 1、 创建 一个空的工作薄
HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
// 2、 在工作薄建立 Sheet
HSSFSheet sheet = hssfWorkbook.createSheet("数据信息");
// 3、 向sheet写入行数据
HSSFRow row = sheet.createRow(0);// 创建第一行数据
// 4、 向row中单元格进行数据输出
row.createCell(0).setCellValue("产品");
row.createCell(1).setCellValue("价格");
// 5、 将Excel 数据输出到硬盘上
hssfWorkbook.write(new FileOutputStream("c:/test.xls"));
更多学习参考
Java学习---Excel读写操作的更多相关文章
- java文件的读写操作
java文件的读写操作主要是对输入流和输出流的操作,由于流的分类很多,所以概念很容易模糊,基于此,对于流的读写操作做一个小结. 1.根据数据的流向来分: 输出流:是用来写数据的,是由程序(内存)--- ...
- java 文件的读写操作
java 文件的读写操作 一.读: public String getSetting() { HttpServletRequest request=org.apache.struts2.Servle ...
- NX二次开发-基于MFC界面的NX对Excel读写操作(OLE方式(COM组件))
NX二次开发API里没有对EXCAL读写操作的相关函数,市面上有很多种方法去实现,比如UFUN调KF,ODBC,OLE(COM组件)等等.这里我是用的OLE(COM组件)方式去做的,这种在VC上创建的 ...
- NX二次开发-基于NX开发向导模板的NX对Excel读写操作(OLE方式(COM组件))
在看这个博客前,请读者先去完整看完:NX二次开发-基于MFC界面的NX对Excel读写操作(OLE方式(COM组件))https://ufun-nxopen.blog.csdn.net/article ...
- JXL.jar简单封装Excel读写操作
1.分析 一个excel文件能够有多页,每页excel中能够有多行,每行中能够有多列.用面向对象的思想能够把一行中的某列看作是一个String对象,一行看作是一个包括多个列的对象.一页是包括多行的对面 ...
- Java实现Excel的操作
JAVA EXCEL API: 开源项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel文件.使用该API非Windows操作系统也可以通过纯Ja ...
- java大文件读写操作,java nio 之MappedByteBuffer,高效文件/内存映射
java处理大文件,一般用BufferedReader,BufferedInputStream这类带缓冲的Io类,不过如果文件超大的话,更快的方式是采用MappedByteBuffer. Mapped ...
- java 实现文件读写操作
import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; /* JAVA IO 读写操作 20 ...
- Java的文件读写操作
file(内存)----输入流---->[程序]----输出流---->file(内存) 当我们读写文本文件的时候,采用Reader是非常方便的,比如FileReader,InputStr ...
随机推荐
- 什么是 JWT -- JSON WEB TOKEN
看链接:http://www.jianshu.com/p/576dbf44b2ae 来个工具类: import java.io.Serializable; import java.util.Date; ...
- 用gdb理解C宏(#和##)
在Unix/Linux内核代码以及GNU libc源代码中,有两个C的宏被广泛使用. 例如: /* glibc-2.25/sysdeps/powerpc/powerpc64/sysdep.h */ # ...
- vue中过滤器比较两个数组取相同值
在vue中需要比较两个数组取相同值 一个大数组一个 小数组,小数组是大数组的一部分取相同ID的不同name值 有两种写法,两个for循环和map写法 const toName = (ids, arr) ...
- LightOJ 1214 Large Division
Large Division Given two integers, a and b, you should check whether a is divisible by b or not. We ...
- ajax从零基础到实战
一. 什么是AJAX? ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. 二. 在项目中怎么运用AJAX? 项目主要文件夹目录有img文件夹,css文件夹,js文件夹,如果你要运 ...
- 微信小程序——动画操作时,rpx 和 px 的转换计算。
嫌长版本: var rpx = 10000; var systemInfo = wx.getSystemInfoSync(); var px = rpx / 750 * systemInfo.wind ...
- 使用SQL语句创建数据库1
创建一个数据文件和一个日志文件的数据库 user master --只想当前使用的数据库 GO --批处理标志 create database BOOK --创建book数据库 on primary ...
- [linux] C语言Linux系统编程-socket回声客户端
回声客户端: 1.所谓“回声”,是指客户端向服务器发送一条数据,服务器再将数据原样返回给客户端,就像声音一样,遇到障碍物会被“反弹回来”. 2.客户端也可以使用 write() / send() 函数 ...
- java EE 新手入门了解
郑重申明:本文转载至https://blog.csdn.net/Neuf_Soleil/article/details/80962686,在此深表感谢! 为什么选择java? 想必有很多初学者会像我一 ...
- JMX 远程监控 Linux tomcat 功能实现
作者远程服务器操作系统 CentOS 7.0, tomcat 版本 7.0 1. Linux tomcat 配置 1.1 catalina_opt 配置 可以在 catalina.sh 文件中添加如下 ...