POI导出数据到EXCEL表格

 /**
     * 将分区数据导出到excel表格中
     * @param request
     * @param response
     * @throws Exception
     */
    @RequestMapping("/subAreaController/export.action")
    public void exportXlsFile(HttpServletRequest request, HttpServletResponse response) throws Exception {
        //1.得到所有分区数据
        List<Subarea> subareas = subAreaService.getAll();
        //2.将分区数据写入 xls文件
        //创建工作簿
        HSSFWorkbook workbook = new HSSFWorkbook();
        //创建工作表
        HSSFSheet sheet = workbook.createSheet("分区数据");
        //创建一条记录
        HSSFRow rowHead = sheet.createRow(0);
        //填充记录的数据单元格
        rowHead.createCell(0).setCellValue("分拣编号");
        rowHead.createCell(1).setCellValue("省");
        rowHead.createCell(2).setCellValue("市");
        rowHead.createCell(3).setCellValue("区");
        rowHead.createCell(4).setCellValue("关键字");
        rowHead.createCell(5).setCellValue("起始号");
        rowHead.createCell(6).setCellValue("终止号");
        rowHead.createCell(7).setCellValue("单双号");
        rowHead.createCell(8).setCellValue("位置");
        //循环写入结果集
        for(Subarea subarea:subareas){
            HSSFRow rowDate = sheet.createRow(sheet.getLastRowNum() + 1);
            rowDate.createCell(0).setCellValue(subarea.getId());
            rowDate.createCell(1).setCellValue(subarea.getRegion()getProvince());
            rowDate.createCell(2).setCellValue(subarea.getRegion().getCity());
            rowDate.createCell(3).setCellValue(subarea.getRegion().getDistrict());
            rowDate.createCell(4).setCellValue(subarea.getAddresskey());
            rowDate.createCell(5).setCellValue(subarea.getStartnum());
            rowDate.createCell(6).setCellValue(subarea.getEndnum());
            rowDate.createCell(7).setCellValue(subarea.getSingle());
            rowDate.createCell(8).setCellValue(subarea.getPosition());
        }
        //3.将xls文件写出到输出流中
        String fileName = "分区数据.xls";
        String mimeType = new MimetypesFileTypeMap().getContentType(new File(fileName));
        response.setContentType(mimeType);
        //根据浏览器对文件名字编码
        String encodeDownloadFilenameFileName = FileUtils.encodeDownloadFilename(fileName, request.getHeader("user-agent"));
        response.setHeader("Content-Disposition", "attachment;fileName="+encodeDownloadFilenameFileName);
        ServletOutputStream outputStream = response.getOutputStream();
        workbook.write(outputStream);

    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Java中的Apache POI库来导出数据Excel表格。以下是一个简单的示例代码: ```java import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class ExcelExporter { public static void exportDataToExcel(String[][] data, String[] headers, String filePath) throws IOException { // 创建工作簿 Workbook workbook = new XSSFWorkbook(); // 创建工作 Sheet sheet = workbook.createSheet(); // 创建头行 Row headerRow = sheet.createRow(0); // 设置头单元格样式 CellStyle headerCellStyle = workbook.createCellStyle(); headerCellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); headerCellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); headerCellStyle.setAlignment(HorizontalAlignment.CENTER); // 创建头单元格 for (int i = 0; i < headers.length; i++) { Cell cell = headerRow.createCell(i); cell.setCellValue(headers[i]); cell.setCellStyle(headerCellStyle); } // 填充数据 for (int i = 0; i < data.length; i++) { Row row = sheet.createRow(i + 1); for (int j = 0; j < data[i].length; j++) { row.createCell(j).setCellValue(data[i][j]); } } // 调整列宽 for (int i = 0; i < headers.length; i++) { sheet.autoSizeColumn(i); } // 写入文件 FileOutputStream outputStream = new FileOutputStream(filePath); workbook.write(outputStream); workbook.close(); } } ``` 你可以将要导出数据存储在一个二维数组中,头存储在一个字符串数组中。然后调用 `exportDataToExcel` 方法并传递这些参数以及要导出的文件路径即可将数据导出Excel表格
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值