Java使用poi操作excel实例解析
作者:Past_Future 时间:2022-01-26 00:15:41
本文实例为大家分享了Java使用poi操作excel的具体代码,供大家参考,具体内容如下
依赖poi的jar包,pom.xml配置如下:
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>excelDemo1</groupId>
<artifactId>excelDemo1</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>excelDemo1 Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.8</version>
</dependency>
</dependencies>
<build>
<finalName>excelDemo1</finalName>
</build>
</project>
相应的java测试代码分别如下:
package excelDemo1;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class ExcelDemo0 {
/**
* java生成excel文件并写入磁盘
*
* @author:tuzongxun
* @Title: main
* @param@param args
* @return void
* @date Apr 28,2016 7:32:52 PM
* @throws
*/
public static void main(String[] args) {
//C:\Users\tuzongxun123\Desktop桌面,windows和linux的斜杠不一样,而且java对于“/”需要转义处理,File.separator可以实现跨平台
File file = new File("C:" + File.separator + "Users" + File.separator
+ "tuzongxun123" + File.separator + "Desktop" + File.separator
+ "ioFile" + File.separator + "user.xls");
try {
OutputStream outputStream = new FileOutputStream(file);
// 创建excel文件,注意这里的hssf是excel2007及以前版本可用,2007版以后的不可用,要用xssf
HSSFWorkbook workbook = new HSSFWorkbook();
// 创建excel工作表
HSSFSheet sheet = workbook.createSheet("user");
// 为工作表增加一行
HSSFRow row = sheet.createRow(0);
// 在指定的行上增加两个单元格
row.createCell(0).setCellValue("name");
row.createCell(1).setCellValue("password");
// 调用输出流把excel文件写入到磁盘
workbook.write(outputStream);
// 关闭输出流
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
package excelDemo1;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
/**
* 读取excel文件
*
* @author tuzongxun123
*
*/
public class ExcelDemo2 {
public static void main(String[] agrs) {
try {
// 获取excel文件输入流
FileInputStream fileInputStream = new FileInputStream("C:"
+ File.separator + "Users" + File.separator
+ "tuzongxun123" + File.separator + "Desktop"
+ File.separator + "ioFile" + File.separator + "user.xls");
BufferedInputStream bufferedInputStream = newBufferedInputStream(
fileInputStream);
POIFSFileSystem fileSystem = new POIFSFileSystem(
bufferedInputStream);
// 获取excel文件
HSSFWorkbook hssfWorkbook = new HSSFWorkbook(fileSystem);
// 根据名称获取指定的excel工作薄
HSSFSheet sheet = hssfWorkbook.getSheet("user");
// 这里实际上可以用sheet.rowIterator()来遍历
for (int i = 1;; i++) {
HSSFRow row = sheet.getRow(i);
if (row != null) {
String nameString1 = row.getCell(0).getStringCellValue();
String password = row.getCell(i).getStringCellValue();
System.out.println("name:" + nameString1);
System.out.println("password:" + password);
bufferedInputStream.close();
} else {
bufferedInputStream.close();
return;
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
标签:Java,poi,excel
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
SpringBoot上传文件大小受限问题的解决办法
2023-04-19 09:46:16
![](https://img.aspxhome.com/file/2023/9/63629_0s.jpg)
简单探索 Java 中的惰性计算
2023-11-16 20:25:28
Java中常见的陷阱题及答案
2021-08-10 16:32:11
基于Spring-Security自定义登陆错误提示信息
2021-09-20 17:33:40
![](https://img.aspxhome.com/file/2023/2/70352_0s.png)
Java获取字符串编码格式实现思路
2023-08-14 12:35:38
如何利用IDEA搭建SpringBoot项目整合mybatis实现简单的登录功能
2022-01-15 06:14:59
![](https://img.aspxhome.com/file/2023/9/61849_0s.png)
java 指定某个jdk版本方法
2023-10-20 08:07:28
Java SpringMVC异步处理详解
2021-08-10 15:03:58
![](https://img.aspxhome.com/file/2023/0/62050_0s.png)
SpringBoot如何优雅的处理全局异常
2021-06-09 21:28:13
![](https://img.aspxhome.com/file/2023/5/69355_0s.png)
Mybatis Log Plugin的使用方式
2021-08-27 19:02:31
![](https://img.aspxhome.com/file/2023/8/61828_0s.jpg)
浅谈Java生命周期管理机制
2022-02-21 19:07:47
详解JAVAEE——SSH三大框架整合(spring+struts2+hibernate)
2022-09-20 04:41:04
![](https://img.aspxhome.com/file/2023/8/68758_0s.png)
详解Java中对象池的介绍与使用
2023-07-25 13:13:48
Java并发编程示例(七):守护线程的创建和运行
2023-11-25 11:39:32
SpringBoot分离打Jar包的两种配置方式
2023-01-30 09:06:59
java读取文件内容的三种方法代码片断分享(java文件操作)
2023-11-21 06:53:20
java实现支付宝支付接口的调用
2023-10-13 09:43:40
![](https://img.aspxhome.com/file/2023/1/58611_0s.jpg)
详解安装Eclipse Maven插件的几种方法
2022-06-01 06:15:20
![](https://img.aspxhome.com/file/2023/1/69941_0s.png)
SpringBoot参数校验Validator框架详解
2023-09-22 07:08:40
C#词法分析器之正则表达式的使用
2023-06-21 13:10:58
![](https://img.aspxhome.com/file/2023/2/66592_0s.png)