java-利用POI进行写,读Excel文件
科普:
1:什么是Apache POI?
Apache POI是一种流行的API,它允许程序员使用Java程序创建,修改和显示MS Office文件。这由Apache软件基金会开发使用Java分布式设计或修改Microsoft Office文件的开源库。它包含类和方法对用户输入数据或文件到MS Office文档进行解码。
Apache POI官网地址:http://poi.apache.org/
2:Apache POI组件
Apache POI包含类和方法,来将MS Office所有OLE 2文档复合。此API组件的列表如下。
POIFS (较差混淆技术实现文件系统) : 此组件是所有其他POI元件的基本因素。它被用来明确地读取不同的文件。
HSSF (可怕的电子表格格式) : 它被用来读取和写入MS-Excel文件的xls格式。
XSSF (XML格式) : 它是用于MS-Excel中XLSX文件格式。
HPSF (可怕的属性设置格式) : 它用来提取MS-Office文件属性设置。
HWPF (可怕的字处理器格式) : 它是用来读取和写入MS-Word的文档扩展名的文件。
XWPF (XML字处理器格式) : 它是用来读取和写入MS-Word的docx扩展名的文件。
HSLF (可怕的幻灯片版式格式) : 它是用于读取,创建和编辑PowerPoint演示文稿。
HDGF (可怕的图表格式) : 它包含类和方法为MS-Visio的二进制文件。
HPBF (可怕的出版商格式) : 它被用来读取和写入MS-Publisher文件。
3:此次编写代码用的jar包
jar包下载地址:
https://www.apache.org/dyn/closer.lua/poi/release/bin/poi-bin-3.17-20170915.tar.gz
如下图:
4:为java包添加-创建路径
说明:这里导入自己代码需要的jar包
具体添加-创建路径操作:
参照操作
5:创建java project 并创建文件夹:read_excl
1:包:write_read_excel 下 WriteExcelForXSSF.java
代码:
package write_read_excel;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
/**
*
* @author jiajikang 功能: 使用POI,写数据到Excel 对Excel写入内容使用的XSSF
*
*/
public class WriteExcelForXSSF {
public void writeExcel() throws Exception {
// 创建工作簿
XSSFWorkbook workbook = new XSSFWorkbook();
// 创建工作表
XSSFSheet sheet = workbook.createSheet();
// 创建行
XSSFRow row = sheet.createRow(0);
// 创建单元格,操作第1行第1列
XSSFCell cell = row.createCell(0, CellType.STRING);
cell.setCellValue("hell java ");
//
FileOutputStream outputStream = new FileOutputStream(new File(
"test.xlsx"));
workbook.write(outputStream);
// 关闭工作簿
workbook.close();
}
// 主类
/*
* public static void main(String[] args) throws Exception { new
* WriteExcelForXSSF().writeExcel(); System.out.print("开始写入....");
*
* }
*/
}
2:包:write_read_excel 下 WriteExcelForXSSF.java
代码:
package write_read_excel;
import java.io.File;
import java.io.FileInputStream;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
/**
*
* @author jiajikang 功能: 使用POI,读Excel
*/
public class ReadExcelForXSSF {
public void readExcel() throws Exception {
File file = new File(
"D:/yanjiusheng/myeclipse/MyeclipseWorkShop/read_excel/test.xlsx");
// 打开需要读取的文件
FileInputStream inputstream = new FileInputStream(file);
// 读取工作簿
XSSFWorkbook wordBook = new XSSFWorkbook(inputstream);
// 读取工作表,从0开始
XSSFSheet sheet = wordBook.getSheetAt(0);
// 读取第1行
XSSFRow row = sheet.getRow(0);
// 读取单元格
XSSFCell cell = row.getCell(0);// 获取单元格对象
String value = cell.getStringCellValue();
System.out.println(value);
// 关闭输入流
inputstream.close();
// 关闭工作簿
wordBook.close();
}
/*
* public static void main(String[] args) throws Exception { new
* ReadExcelForXSSF().readExcel();
*
* }
*/
}
3:包:write_read_excel 下 write_read_Demo.java
代码:
package write_read_excel;
/**
*
* @author jiajikang
* 功能:进行测试写入和读取
*/
public class write_read_Demo {
public static void main(String[] args) throws Exception {
System.out.println("开始写入...");
new WriteExcelForXSSF().writeExcel();
System.out.println("写入完毕...");
System.out.println("开始读取...");
new ReadExcelForXSSF().readExcel();
System.out.println("读取完毕...");
}
}