apache.poi导出excel表格

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_38861828/article/details/102748492

添加依赖

<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi</artifactId>
			<version>3.10.1</version>
		</dependency>

创建导出excel的工具类 ExportExcelUtil

package com.clc.util;

import java.util.Date;
import java.util.List;
import java.util.Map;

import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.joda.time.DateTime;
public class ExportExcelUtil{

	public static HSSFWorkbook exportXls(List<Map<String,Object>> list,String title) throws Exception {
        // 读取项目根目录中的模板
		//File file = new File("E:\\template.xls");   电脑硬盘上的模板,,一般模板都在项目里
        HSSFWorkbook workbook = new HSSFWorkbook();
        // 创建Excel的sheet
        HSSFSheet sheet = workbook.createSheet(title);
        sheet.setForceFormulaRecalculation(true);
        // 根据模板中表达式位置, 修改对应单元格的值
        int num = 0;
        HSSFRow first= sheet.createRow(0);
		for(String key: list.get(0).keySet()) {
			 first.createCell(num).setCellValue(key);
			 num++;
		}
		// 填充数据
		int rowNum = 1;
        for (Map<String, Object> map : list) {
                HSSFRow row = sheet.createRow(rowNum);
                int colNum=0;
                for (String key : map.keySet()) {
                	if(map.get(key) instanceof Date) {
                		row.createCell(colNum).setCellValue(new DateTime(map.get(key)).toString(Constants.DATE_TIME));
                	}else {
                	    row.createCell(colNum).setCellValue(map.get(key).toString());
                	}
                	colNum++;
				}
                rowNum++;
        }
        
        //FileOutputStream out = new FileOutputStream("D:"+File.separator+title+".xls");
        //workbook.write(out);
        //out.close();
        
        return workbook;
    }
}

在Controller方法中调用

@RequestMapping("exportUser")
	@RequiresRoles(value= {"admin"})
	public void exportUser(HttpServletResponse response) throws Exception {
		List<Map<String, Object>> list = userService.selectOnExp();
		HSSFWorkbook workbook = ExportExcelUtil.exportXls(list, "user");
		
		workbook.write(response.getOutputStream());
		response.setHeader("Content-Disposition", "attachment;filename=user.xls");
	}

猜你喜欢

转载自blog.csdn.net/qq_38861828/article/details/102748492