java导入Excel表格

147 篇文章 3 订阅

像我们日常开发中,我们常常有查询到一些我们需要的打印的数据的话,我们往往先要导入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());
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码海兴辰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值