java导入Excel表格
像我们日常开发中,我们常常有查询到一些我们需要的打印的数据的话,我们往往先要导入excel表格或者Words文档。
方便我们来导入电脑然后进行打印。我这边以导入Excel表格为例。
pom.xml的配置相关依赖
<!--导入excel表格所依赖的jar-->
<dependencies>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.9</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.9</version>
</dependency>
-----------------------------------------------------------------------------
Controller相关的控制层的代码
/*
*将客房信息导入excel表格
* */
@RequestMapping(value = "/roomExcelDownloads",method = RequestMethod.GET)
public void downloadAllClassmate(HttpServletResponse response)throws IOException{
HSSFWorkbook workbook=new HSSFWorkbook();
HSSFSheet sheet=workbook.createSheet("客房信息表");
List<HotelRoom> classmateList=hotelRoomService.findAll();
String fileName="hotelRoom"+".xls";//设置导出的文件名字
int rowNum=1;
String [] headers={"房间编号","房间名称","层数","房间类型","相关信息"};
//headers表示excel表中第一行的表头
HSSFRow row=sheet.createRow(0);
//excel表中添加表头
for(int i=0;i<headers.length;i++){
HSSFCell cell=row.createCell(i);
HSSFRichTextString text=new HSSFRichTextString(headers[i]);
cell.setCellValue(text);
}
//在表中存放查询的数据放入对应的列
for(HotelRoom hotelRoom:classmateList){
HSSFRow row1=sheet.createRow(rowNum);
row1.createCell(0).setCellValue(hotelRoom.getRoomNumber());
row1.createCell(1).setCellValue(hotelRoom.getRoomName());
row1.createCell(2).setCellValue(hotelRoom.getLayer());
row1.createCell(3).setCellValue(hotelRoom.getRoomType());
row1.createCell(4).setCellValue(hotelRoom.getDescription());
rowNum++;
}
response.setContentType("application/octet-stream");
response.setHeader("Content-disposition","attachment;filename="+fileName);
response.flushBuffer();
workbook.write(response.getOutputStream());
}
浙公网安备 33010602011771号