Java使用poi操作excel實(shí)例解析
本文實(shí)例為大家分享了Java使用poi操作excel的具體代碼,供大家參考,具體內(nèi)容如下
依賴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>
相應(yīng)的java測(cè)試代碼分別如下:
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對(duì)于“/”需要轉(zhuǎn)義處理,F(xiàn)ile.separator可以實(shí)現(xiàn)跨平臺(tái)
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);
// 創(chuàng)建excel文件,注意這里的hssf是excel2007及以前版本可用,2007版以后的不可用,要用xssf
HSSFWorkbook workbook = new HSSFWorkbook();
// 創(chuàng)建excel工作表
HSSFSheet sheet = workbook.createSheet("user");
// 為工作表增加一行
HSSFRow row = sheet.createRow(0);
// 在指定的行上增加兩個(gè)單元格
row.createCell(0).setCellValue("name");
row.createCell(1).setCellValue("password");
// 調(diào)用輸出流把excel文件寫入到磁盤
workbook.write(outputStream);
// 關(guān)閉輸出流
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);
// 根據(jù)名稱獲取指定的excel工作薄
HSSFSheet sheet = hssfWorkbook.getSheet("user");
// 這里實(shí)際上可以用sheet.rowIterator()來(lái)遍歷
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();
}
}
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家學(xué)習(xí)java程序設(shè)計(jì)有所幫助。
相關(guān)文章
淺談SpringMVC之視圖解析器(ViewResolver)
本篇文章主要介紹了淺談SpringMVC之視圖解析器(ViewResolver),具有一定的參考價(jià)值,有興趣的可以了解一下2017-08-08
java開發(fā)gui教程之jframe監(jiān)聽窗體大小變化事件和jframe創(chuàng)建窗體
這篇文章主要介紹了java開發(fā)gui教程中jframe監(jiān)聽窗體大小變化事件和jframe創(chuàng)建窗體的示例,需要的朋友可以參考下2014-03-03
利用github搭建個(gè)人maven倉(cāng)庫(kù)的方法步驟
這篇文章主要介紹了利用github搭建個(gè)人maven倉(cāng)庫(kù)的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12
Spring MessageSource獲取消息不符合預(yù)期的問題解決方案
最近我參與的產(chǎn)品要做國(guó)際化支持,選擇了用Spring MessageSource來(lái)實(shí)現(xiàn),這個(gè)Spring 框架提供的工具使用很簡(jiǎn)單,網(wǎng)上有各種教程文章,這里不做贅述,只說(shuō)一個(gè)實(shí)際遇到的問題及解決方案,需要的朋友可以參考下2024-01-01
Java的特點(diǎn)和優(yōu)點(diǎn)(動(dòng)力節(jié)點(diǎn)整理)
由于Java語(yǔ)言的設(shè)計(jì)者們十分熟悉C++語(yǔ)言,所以在設(shè)計(jì)時(shí)很好地借鑒了C++語(yǔ)言??梢哉f(shuō),Java語(yǔ)言是一種比C++語(yǔ)言“還面向?qū)ο蟆钡囊环N編程語(yǔ)言,下面通過(guò)本文說(shuō)下java的特點(diǎn)和優(yōu)點(diǎn)2017-03-03
基于Java SSM實(shí)現(xiàn)Excel數(shù)據(jù)批量導(dǎo)入
這篇文章主要為大家詳細(xì)介紹了基于Java SSM如何實(shí)現(xiàn)excel數(shù)據(jù)批量導(dǎo)入,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11
SpringBoot @JsonDeserialize自定義Json序列化方式
這篇文章主要介紹了SpringBoot @JsonDeserialize自定義Json序列化方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10
java+SpringBoot設(shè)計(jì)實(shí)現(xiàn)評(píng)教系統(tǒng)
這篇文章主要介紹了用過(guò)Java SpringBoot實(shí)現(xiàn)一個(gè)簡(jiǎn)單的評(píng)價(jià)系統(tǒng),可以做到學(xué)生管理、教師管理、評(píng)教管理、指標(biāo)管理、課程管理等。感興趣的可以了解一下2021-12-12
JAVA實(shí)現(xiàn)Date日期加一天具體方法
這篇文章主要給大家介紹了關(guān)于JAVA實(shí)現(xiàn)Date日期加一天的相關(guān)資料,因?yàn)樵陧?xiàng)目中遇到了需要將日期進(jìn)行加減一些天數(shù)的操作,文中給出了簡(jiǎn)單的代碼示例,需要的朋友可以參考下2023-07-07

