Java导出Excel到本地显示文档当中有乱码
1. 流程概述
步骤 | 描述 |
---|---|
1 | 创建一个工作簿对象 |
2 | 创建一个工作表对象 |
3 | 创建表头,并设置表头样式 |
4 | 将数据写入工作表 |
5 | 导出Excel文件到本地 |
2. 代码实现
2.1 创建一个工作簿对象
// 导入相关类
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Workbook;
// 创建工作簿对象
Workbook workbook = new HSSFWorkbook();
2.2 创建一个工作表对象
// 导入相关类
import org.apache.poi.ss.usermodel.Sheet;
// 创建工作表对象
Sheet sheet = workbook.createSheet("Sheet1");
2.3 创建表头,并设置表头样式
// 导入相关类
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
// 创建表头行
Row headerRow = sheet.createRow(0);
// 设置表头样式
CellStyle headerCellStyle = workbook.createCellStyle();
Font headerFont = workbook.createFont();
headerFont.setBold(true);
headerCellStyle.setFont(headerFont);
headerCellStyle.setAlignment(HorizontalAlignment.CENTER);
// 创建表头单元格
Cell cell = headerRow.createCell(0);
cell.setCellValue("列1");
cell.setCellStyle(headerCellStyle);
// 创建其他表头单元格...
2.4 将数据写入工作表
// 导入相关类
import org.apache.poi.ss.usermodel.Row;
// 创建数据行并写入数据
Row dataRow = sheet.createRow(1);
dataRow.createCell(0).setCellValue("数据1");
// 创建其他数据行并写入数据...
2.5 导出Excel文件到本地
// 导入相关类
import java.io.FileOutputStream;
import java.io.IOException;
// 导出Excel文件到本地
try (FileOutputStream fileOutputStream = new FileOutputStream("output.xlsx")) {
workbook.write(fileOutputStream);
} catch (IOException e) {
e.printStackTrace();
}
3. 代码解释
3.1 创建一个工作簿对象
在这一步中,我们使用HSSFWorkbook
类创建一个工作簿对象。HSSF是POI库中操作Excel文件的一个实现,用于处理Excel 2003及以下版本的文件格式。
3.2 创建一个工作表对象
我们使用createSheet
方法创建一个名为"Sheet1"的工作表对象。此处可以根据需求设置工作表的名称。
3.3 创建表头,并设置表头样式
首先,我们创建一个表头行对象headerRow
,用于存放表头单元格。然后,我们创建一个表头样式对象headerCellStyle
,并设置居中对齐和加粗的字体。最后,我们创建表头单元格cell
,设置单元格的值为"列1",并将样式应用到表头单元格。
3.4 将数据写入工作表
首先,我们创建一个数据行对象dataRow
,用于存放数据单元格。然后,我们通过setCellValue
方法将数据写入数据单元格。可以根据需要创建多个数据行并写入数据。
3.5 导出Excel文件到本地
我们使用FileOutputStream
将工作簿对象写入到文件中。这里的示例文件名为"output.xlsx",可以根据需要修改文件名和路径。注意,需要在最后使用workbook.write(fileOutputStream)
将工作簿对象写入到文件中,并在结束后关闭文件输出流。
4. 总结
通过以上步骤,我们可以实现Java导出Excel到本地并显示表格内容。在实际应用中,可以根据需求进行扩展和修改,例如设置单元格样式、处理大量数据等。希望本文对您有所帮助!