生成Workbook方法
public static XSSFWorkbook getWorkBook(String[] title, String[][] str) {
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet xssfSheet = wb.createSheet();
XSSFRow firstRow = xssfSheet.createRow(0);
XSSFCellStyle style = wb.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
for (int i = 0; i < title.length; i++) {
XSSFCell cell = firstRow.createCell(i);
cell.setCellValue(title[i]);
cell.setCellStyle(style);
}
XSSFRow row;
for (int i = 0; i < str.length; i++) {
row = xssfSheet.createRow(i + 1);
for (int j = 0; j < str[i].length; j++) {
row.createCell(j).setCellValue(str[i][j]);
}
}
return wb;
}
- 注这里XSSFWorkbook生成的是xlsx格式,如果需要xls需要用HSSFWorkbook类
使用web工程测试
public void export(HttpServletResponse response,List<Person> list) throws UnsupportedEncodingException {
String[] titles = {"姓名","年龄","性别","身份证"};
String[][] arr = new String[list.size()][titles.length];
for (int i = 0; i < list.size(); i++) {
Person person = list.get(i);
arr[i][0] = person.getName();
arr[i][1] = person.getAge();
arr[i][2] = person.getGender();
arr[i][3] = person.getIDCard();
}
XSSFWorkbook workBook = ExcelUtil.getWorkBook(titles, arr);
String fileName = new String("ceshi.xlsx".getBytes(), "ISO8859-1");
response.reset();
response.setContentType("application/msexcel");
response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
try (OutputStream outputStream = response.getOutputStream()) {
workBook.write(outputStream);
outputStream.flush();
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}