Java使用poi操作excel实例解析
作者:Past_Future 发布时间:2022-01-26 00:15:41
标签:Java,poi,excel
本文实例为大家分享了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();
}
}
}


猜你喜欢
- 后台控制层: public static final String HEAD_IMG_DIR = "D:/upload/&quo
- 这里的万年历制作主要用到了Calendar类和GregorianCalendar类,我们先来回顾一下基础知识:基础部分一、Cal
- Android 监听手机GPS打开状态实现代码GPS_Presenterpackage com.yiba.core;import andro
- 这篇文章主要介绍了java文件下载代码实例(单文件下载和多文件打包下载),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考
- 一、项目简述功能包括(管理员和用户角色): 酒店预订,酒店管理,员工管理,入住原理,订单管理, 楼层管理,退房管理,营业额报表等等。二、项目
- 项目需要去调用.NET的WebSrevice,本身是Java,研究了半天,终于有些头绪,记下来。1,新建.NET WebService。只在
- 一、前言大家好,我是一个初学C语言的小菜狗,是否大家在平时的做题中会遇到和我一样的烦恼,题目的代码已经基本完成,但是在输出时候,总是和题目给
- 问题的起源在项目里,有时候需要实现一个图片轮播的效果,用来展示Banner。同时,图片能循环播放,下面还有一排小圆点来指示当前轮播到哪一页了
- 前言今天是2021LOL全球总决赛,一直不被大家看好的EDG冲到了决赛对战韩国队的DK,可以说EDG面对如此强大的对手,想赢是比较难的,为了
- 介绍在 C/C++ 中,程序员负责对象的创建和销毁。通常程序员会忽略无用对象的销毁。由于这种疏忽,在某些时候,为了创建新对象,可能没有足够的
- 这里介绍通过委托取消Button事件switch-case的方法。需要注意的是,事先要按顺序在各个Button的Tag属性中设置0、1、2、
- 本文实例讲述了Android基于ViewPager+Fragment实现左右滑屏效果的方法。分享给大家供大家参考,具体如下:1.xml布局模
- 如果还不知道DecorView,那也没有什么关系 ^_^先来看看实现的效果实现的大致思路首先需要明白什么是DecorView,他是andro
- 总结并复现了一下Unsafe在安全领域的一些应用0 前言unsafe里面有很多好用的方法,比如allocateInstance可以直接创建实
- 机器跑了一晚上,发现有崩溃现象,由于页面内有动态绘图功能,我怀疑是绘图原因,但是今天上午有人提醒我才想到,是不是间隔调用时DWR产生了内存泄
- 本文实例讲述了C#实现让ListBox适应最大Item宽度的方法。分享给大家供大家参考。具体实现方法如下:private void butt
- 多线程@Async的使用体验场景导入:可以将大批量的数据insert操作采用多线程的方式并行执行第三方服务的接口调用:由于存在个别第三方服务
- 工作需要,经常需要实现api接口,但每次都是大同小异,我就考虑是否可以将这种重复性的工作配置化。我就写一个模板api,然后所有的HTTP请求
- 首先来说一说该指南针的实现思路:程序先准备一张指南针图片,该图片上方向指针指向北方。接下来开发一个检测方向的传感器,程序检测到手机顶部绕Z轴
- Android package属性、package name和Application ID三者的联系及区别package属性:在Androi