packagecom.cyb.exceldemo.excel;importjava.io.FileNotFoundException;importjava.io.IOException;importjava.io.InputStream;importjava.io.UnsupportedEncodingException;importjava.net.URLEncoder;importjava.util.ArrayList;importjava.util.List;importjavax.annotation.Resource;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importorg.apache.poi.hssf.usermodel.HSSFRow;importorg.apache.poi.hssf.usermodel.HSSFSheet;importorg.apache.poi.hssf.usermodel.HSSFWorkbook;importorg.apache.poi.ss.usermodel.Row;importorg.apache.poi.ss.usermodel.Workbook;importorg.apache.poi.xssf.usermodel.XSSFWorkbook;importorg.springframework.core.io.ClassPathResource;importorg.springframework.http.HttpStatus;importorg.springframework.http.ResponseEntity;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RequestMethod;importorg.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping(value= "/index")public classExcelController {
@RequestMapping(value= "/excel2007Export")public ResponseEntityexcel2007Export(HttpServletResponse response, HttpServletRequest request)
{try{
ClassPathResource cpr= new ClassPathResource("/static/student.xlsx");
InputStream is=cpr.getInputStream();
Workbook workbook= newXSSFWorkbook(is);
org.apache.poi.ss.usermodel.Sheet sheet0= workbook.getSheetAt(0);//这里作为演示,造几个演示数据,模拟数据库里查数据
List list = new ArrayList();
list.add("张三");
list.add("张四");
list.add("王五");for (int i = 0; i < list.size(); i++)
{
Row row= sheet0.createRow(i + 5);
row.createCell(0).setCellValue(i);
row.createCell(1).setCellValue(list.get(i));
}
String fileName= "eeeee.xlsx";
downLoadExcel(fileName, response, workbook);
}catch(FileNotFoundException e)
{
e.printStackTrace();
}catch(IOException e)
{
e.printStackTrace();
}return new ResponseEntity(HttpStatus.OK);
}public static voiddownLoadExcel(String fileName, HttpServletResponse response, Workbook workbook)
{try{
response.setCharacterEncoding("UTF-8");
response.setHeader("content-Type", "application/vnd.ms-excel");
response.setHeader("Content-Disposition","attachment;filename=\"" + URLEncoder.encode(fileName, "UTF-8") + "\"");
workbook.write(response.getOutputStream());
}catch(IOException e)
{
e.printStackTrace();
}
}
@RequestMapping(value= "/exportExcel", method ={ RequestMethod.GET, RequestMethod.POST })public void exportExcel(HttpServletResponse response) throwsUnsupportedEncodingException {
String fileName= "导出excel.xls";
response.setContentType("application/excel");
response.setHeader("Content-disposition","attachment;filename=" + fileName + ";filename*=utf-8''" + URLEncoder.encode(fileName, "UTF-8"));
HSSFWorkbook workbook= newHSSFWorkbook();
HSSFSheet sheet=workbook.createSheet();int rowNum = 0;//添加标题
String[] headers = { "标题", "版块", "作者", "创建时间", "内容"};
HSSFRow row=sheet.createRow(rowNum);
List list = new ArrayList();
list.add("111");
list.add("222");
list.add("333");for(String text : list) {
HSSFRow row1=sheet.createRow(rowNum);
row1.createCell(0).setCellValue(rowNum);
row1.createCell(1).setCellValue(text);
rowNum++;
}try{
workbook.write(response.getOutputStream());
}catch(IOException e) {
e.printStackTrace();
}
}
}