寫Excel示例:
package com.example.test;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.testng.annotations.Test;
import java.io.*;
public class ExcelTest {
private static final String PATH = "Excel.xlsx";
@Test
public void testWriteSheet(){
try {
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("Sheet");
XSSFRow row;
for (int r = 0; r < 3; r++){
row = sheet.createRow(r);
for (int c = 0; c < 3; c++){
Cell cell = row.createCell(c);
cell.setCellValue(r + c);
}
}
FileOutputStream fileOutputStream = new FileOutputStream(PATH);
workbook.write(fileOutputStream);
workbook.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
讀Excel示例:
package com.example.test;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.testng.annotations.Test;
import java.io.*;
import java.util.Iterator;
public class ExcelTest {
private static final String PATH = "Excel.xlsx";
@Test
public void testReadSheet(){
try {
FileInputStream fileInputStream = new FileInputStream(PATH);
XSSFWorkbook workbook = new XSSFWorkbook(fileInputStream);
XSSFSheet sheet = workbook.getSheet("Sheet");
XSSFRow row;
Iterator<Row> rowIterator = sheet.rowIterator();
while (rowIterator.hasNext()){
row = (XSSFRow) rowIterator.next();
Iterator<Cell> cellIterator = row.cellIterator();
while (cellIterator.hasNext()){
Cell cell = cellIterator.next();
switch (cell.getCellType()){
case NUMERIC:
double val = cell.getNumericCellValue();
System.out.print(val + "\t");
break;
case STRING:
String str = cell.getStringCellValue();
System.out.print(str + "\t");
}
}
System.out.println();
}
fileInputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}