Apache POI
写excel
public static void write() throws IOException {
//再内存中创建了一个Excel文件
XSSFWorkbook excel = new XSSFWorkbook();
//创建一个sheet页
XSSFSheet sheet = excel.createSheet("info");
//这里创建行对象,这里的rownum 是从0开始的,类似于数组
XSSFRow row = sheet.createRow(1);
//创建单元格 这里的index也是从0开始的
row.createCell(1).setCellValue("姓名"); //创建单元格,并且设置单元格内容
row.createCell(3).setCellValue("城市");
//新起一行
row = sheet.createRow(2);
row.createCell(1).setCellValue("jjking");
row.createCell(3).setCellValue("广州");
FileOutputStream fos = new FileOutputStream(new File("info.xlsx"));
excel.write(fos);
//关闭资源
fos.close();
excel.close();
}
这个也不用过多的介绍,我们只要照着写就ok了,没什么难的
这样子,过后写好的excel,是这样的
读excel
public static void read() throws IOException, InvalidFormatException {
XSSFWorkbook excel = new XSSFWorkbook(new File("info.xlsx"));
//读取sheet页
XSSFSheet sheet = excel.getSheetAt(0);
//读取最后一个有文字的行号
int lastRowNum = sheet.getLastRowNum();
//从第2行开始读
for(int i = 1; i <= lastRowNum; i++) {
//获取行
XSSFRow row = sheet.getRow(i);
//获取单元格的对象
String cellValue1 = row.getCell(1).getStringCellValue();
String cellValue2 = row.getCell(3).getStringCellValue();
System.out.println(cellValue1 + " " + cellValue2);
}
excel.close();
}