Jakarta POI
文章来源: https://blog.csdn.net/qq_45150222/article/details/105012569
pom
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.9</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.2</version>
</dependency>
导出到excel
// 创建第一行列名 ,自定义个数
String[] title = {"name1","name2","name3"};
//创建Excel
HSSFWorkbook workbook = new HSSFWorkbook();
//创建一个工作表
HSSFSheet sheet = workbook.createSheet();
//创建第一行
HSSFRow row = sheet.createRow(0);
HSSFCell cell = null;
// 插入第一行
for (int i = 0; i < title.length; i++) {
cell = row.createCell(i);
cell.setCellValue(title[i]);
}
// 追加数据
for (int i = 1; i < 10; i++) {// 这里的int 起始是1 也就是第二行开始 记得和头对齐
HSSFRow nexTrow = sheet.createRow(i);
HSSFCell cell2 = nexTrow.createCell(0);
cell2.setCellValue("name1");
cell2 = nexTrow.createCell(1);
cell2.setCellValue("name2");
cell2 = nexTrow.createCell(2);
cell2.setCellValue("name3");
}
// 创建一个文件
File file = new File("d:/test.xls");
try {
file.createNewFile();
// 存放在文件中
FileOutputStream stream = FileUtils.openOutputStream(file);
workbook.write(stream);
stream.close();
} catch (Exception e) {
e.printStackTrace();
}
导入到java
// 导入文件地址
File file = new File("d:/test.xls");
try {
// 创建Excel 读取文件内容
HSSFWorkbook workbook = new HSSFWorkbook(FileUtils.openInputStream(file));
/**
* 第一种方式读取Sheet页
*/
// HSSFSheet sheet = workbook.getSheet("Sheet0");
/**
* 第二种方式读取Sheet页
*/
HSSFSheet sheet = workbook.getSheetAt(0);
int firstRowNum = 0;// 起始行第0行
int lasrRowNum = sheet.getLastRowNum();// 一直读到最后一行
for (int i = 0; i < lasrRowNum; i++) {
HSSFRow row = sheet.getRow(i);
// 获取当前最后单元格列号
int lastCellNum = row.getLastCellNum();
for (int j = 0; j < lastCellNum; j++) {
HSSFCell cell = row.getCell(j);
String value = cell.getStringCellValue();// 注意! 如果Excel 里面的值是String 那么getStringCellValue 如果是其他类型 则需要修改
System.out.print(value + " ");
}
System.out.println();
}
} catch (Exception e) {
e.printStackTrace();
}