? ? ? ? 创建工作簿对象?
HSSFWorkbook workbook = new HSSFWorkbook();
? ? ? ?//?通过easypoi导入模板(还没研究明白)
TemplateExportParams params = new TemplateExportParams("ftl/supervisionProject.xls");
????????创建工作表对象?
HSSFSheet sheet = workbook.createSheet();
????????? ?创建工作表的行?
HSSFRow row = sheet.createRow(0);
createRow(0); //表示第一行
?????????创建单元格并设置值
row.createCell(0).setCellValue("2024年1月基本情况表");
?????????设置字体?
HSSFCellStyle style = workbook.createCellStyle();
HSSFFont font = workbook.createFont();
font.setFontHeightInPoints((short) 26); // 设置字体大小
font.setFontName("方正小标宋_GBK");
style.setFont(font); //将字体应用到样式中
??????????设置水平居中
HSSFCellStyle style = workbook.createCellStyle();
style.setAlignment(HorizontalAlignment.CENTER); // 水平居中
// 将样式应用到单元格上
row.getCell(0).setCellStyle(style);
getCell(0) 意思为这一行的第一个单元格,将刚才设置的style给到这个行对象
?????????合并单元格?
CellRangeAddress region = new CellRangeAddress(0, 0, 0, 24);
sheet.addMergedRegion(region);
?CellRangeAddress(0, 0, 0, 24); 里面的参数:开始行数,结束行数,开始列,结束列
? ? ? ? 如果要合并序号这个单元格,就需要(2,?3,?0,?0);
? ? ? ? 获取到行的单元格,setCellValue给这个单元格赋值
row.createCell(0).setCellValue
? ? ? ? 打开文件流输出表格
FileOutputStream out = new FileOutputStream("D:\\AAAAA\\" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()).toString() + ".xls");
workbook.write(out);
out.close();
public void exportFile(String cityId, Date filingTime, HttpServletRequest request, HttpServletResponse response)
? ? ? ? 需要获取HttpServletResponse 返回体中存入文件信息
String fileName = "xxxxxx.xls";
String tplType = "ftl/supervisionProject.ftl";
response.reset();
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setCharacterEncoding("utf-8");
response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileName, "UTF8"));