//1、创建工作簿
HSSFWorkbook wookbook=new HSSFWorkbook();
//2、创建工作表,创建表名
HSSFSheet sheet = wookbook.createSheet("表名");
//生成一个样式
HSSFCellStyle style = wookbook.createCellStyle();
// 设置这些样式
//水平居中
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
//垂直居中
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
//3、创建行;创建第一行,索引从0开始
HSSFRow row = sheet.createRow(0);
//4、创建单元格;创建第1行第1列
HSSFCell cell = row.createCell(0);
cell.setCellValue("标题名");
cell.setCellStyle(style);
int line=1;
//5、循环写入信息
for(int index=0;index<list.size();index++) {
row = sheet.getRow();
cell = row.createCell(0);
cell.setCellValue(list.get(index));
//cell为已有的单元格
cell.setCellStyle(style);
}
//文件名
String filename = "文件名.xls";
String agent = request.getHeader("User-Agent");
filename = FileUtils.encodeDownloadFilename(filename, agent);
ServletOutputStream out = response.getOutputStream();
String contentType = request.getServletContext().getMimeType(filename);
//头部信息
response.setContentType(contentType);
response.setHeader("content-disposition", "attchment;filename="+ filename);
wookbook.write(out);
注意点:
- 每次你设置字体格式都需要调用setCellStyle函数
- xls的格子从0开始数,要指定某一行某一列的单元才能进行操作
- 其中会遇到很多时候你的定位没有测量好,导致单元格的重用,这个时候你就需要重新回顾自己的操作
- 最后进行的就是将文档存入本地