一、简介
在开始之前先介绍一下Apache POI,是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office(Excel、WORD、PowerPoint、Visio等)格式档案读和写的功能。POI为“Poor Obfuscation Implementation”的首字母缩写,意为“可怜的模糊实现”。
通过Java代码导出Excel文件在现在系统来说是极为常用的功能,本文简单介绍使用Java导出Excel文件。 具体的详细信息童鞋们可以参考 Apache官网文档
搭建环境等步骤就不在此处过多赘述,直接开始。。。。
- 导出Excel文件第一步便是新建工作薄。在POI中工作薄的常用类型有HSSFWorkbook、XSSFWorkbook。
HSSFWorkbook workbook = new HSSFWorkbook(); 创建工作薄
- 根据文件对象创建表格对象(创建Excel中的sheet页)
// 创建工作表对象(sheet页)
HSSFSheet sheet = workbook.createSheet();
- 在创建完成sheet页后就相当于在 Excel中新建了一个sheet页,但是这个sheet页还是空白的,需要创建单元格,创建单元格分为两个步骤:创建行->创建单元格
// 创建表头(一般表头是第一行,索引是0)
Row rowHeader = sheet.createRow(行索引);
// 在已创建的行上面创建列(单元格),单元格的索引从0开始
Cell headerCell = rowHeader.createCell(单元格索引);
// 设置单元格的值
headerCell.setCellValue(值);
// 设置单元格的样式
headerCell.setCellStyle(Cellstyle);
- 保存文件
/**
* 保存文件到服务器
* FileUtil来自 huttool工具类
* @param workbook 工作薄
* @param fileName 文件名称
*/
public static void saveExcelToServer(HSSFWorkbook workbook, String basePath, String fileName) {
// 将Excel写入文件
try {
// 创建文件输出流,输出创建成功的Excel
String filePath = basePath + File.separator + fileName;
if (!FileUtil.exist(basePath)) {
FileUtil.mkdir(basePath);
}
workbook.write(new File(filePath));
} catch (IOException e) {
// 捕获异常
} finally {
try {
workbook.close(); // 关闭工作薄,减少内存浪费
} catch (IOException e) {
// 捕获异常
}
}
}