简单实现poi来实现读写Excel文件
使用前必须导入以下.jar包
package test;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class TestPOI {
public static void main(String[] args) throws IOException {
String path = "e:/";
String fileName = "测试poi";
String fileType = "xlsx";
writer(path, fileName, fileType);
//read(path, fileName, fileType);
}
private static void writer(String path, String fileName, String fileType)
throws IOException {
// 创建工作文档对象
Workbook wb = null;
if (fileType.equals("xls")) {
wb = new HSSFWorkbook();
} else if (fileType.equals("xlsx")) {
wb = new XSSFWorkbook();
} else {
System.out.println("您的文档格式不正确!");
}
// 创建sheet对象
Sheet sheet1 = wb.createSheet("sheet1");
// 循环写入行数据
for (int i = 0; i < 5; i++) {
Row row = sheet1.createRow(i);
// 循环写入列数据
for (int j = 0; j < 8; j++) {
Cell cell = row.createCell(j);
cell.setCellValue("测试xx" + j);
}
}
// 创建文件流
OutputStream stream = new FileOutputStream(path + fileName + "."
+ fileType);
// 写入数据
wb.write(stream);
// 关闭文件流
stream.close();
}
public static void read(String path,String fileName,String fileType) throws IOException
{
InputStream stream = new FileInputStream(path+fileName+"."+fileType);
Workbook wb = null;
if (fileType.equals("xls")) {
wb = new HSSFWorkbook(stream);
}
else if (fileType.equals("xlsx")) {
wb = new XSSFWorkbook(stream);
}
else {
System.out.println("您输入的excel格式不正确");
}
Sheet sheet1 = wb.getSheetAt(0);
// for (Row row : sheet1) {
// for (Cell cell : row) {
// System.out.print(cell.getStringCellValue()+" ");
// }
// System.out.println();
// }
for(int i=0;i<sheet1.getPhysicalNumberOfRows();i++){
Row row = sheet1.getRow(i);
for(int j=row.getFirstCellNum();j<row.getPhysicalNumberOfCells();j++){
Cell cell = row.getCell(i);
System.out.println(cell.getStringCellValue()+" ");
}
}
}}