• springmvc + excel代


    1.xml简介

    	<!-- excel use start -->
    	<bean class="org.springframework.web.servlet.view.BeanNameViewResolver">
    		<property name="order" value="10"/>
    	</bean>
    
    	<bean id="viewExcel111" class="net.spring.controller.ViewExcel" />
    	<!-- excel use end -->

    2.controller

    	@RequestMapping("excelAction")
    	public String excelAction(Map<String, Object> map){
    		
    		// 传给ViewExcel的值
    		map.put("p1", "hello");
    		map.put("p2", "world");
    		
    		return "viewExcel111"; 
    	}

    3.ViewExcel

    package net.spring.controller;
    
    import java.util.Map;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.apache.poi.hssf.usermodel.HSSFCell;
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    import org.springframework.web.servlet.view.document.AbstractExcelView;
    
    public class ViewExcel extends AbstractExcelView {
    
    	@Override
    	protected void buildExcelDocument(Map<String, Object> map,
    			HSSFWorkbook workbook, HttpServletRequest arg2,
    			HttpServletResponse response) throws Exception {
    
    		String p1 = (String) map.get("p1");
    		String p2 = (String) map.get("p2");
    
    		// 设值文件名称:显示对话框提示用户下载或打开
    		response.setHeader("Content-Disposition", "attachment;filename="
    				+ new String("用户列表".getBytes(), "ISO-8859-1"));
    		
    		// sheet的名称
    		HSSFSheet sheet = workbook.createSheet("testSheet");
    		
    		HSSFRow row = null;
    		HSSFCell cell = null;
    
    		// 行号
    		int rowIndex = 0;
    		// 列号
    		int cellIndex = 0;
    
    		// 通过sheet对象添加一行
    		row = sheet.createRow(rowIndex++);
    		// 通过row对象添加一列
    		cell = row.createCell(cellIndex++);
    		// 设值列的内容
    		cell.setCellValue("第一列的内容");
    		// 添加一列
    		cell = row.createCell(cellIndex++);
    		// 设值列的内容
    		cell.setCellValue(p1);
    
    		// 列号清零
    		cellIndex = 0;
    		// 添加一行
    		row = sheet.createRow(rowIndex++);
    		// 添加一列
    		cell = row.createCell(cellIndex++);
    		// 设值列的内容
    		cell.setCellValue("第二列的内容");
    		// 添加一列
    		cell = row.createCell(cellIndex++);
    		// 设值列的内容
    		cell.setCellValue(p2);
    	}
    
    }
    

    效果图:


  • 相关阅读:
    浅谈左偏树入门
    【洛谷3768】简单的数学题(莫比乌斯反演+杜教筛)
    【51nod1743】雪之国度(最小生成树+倍增)
    【BZOJ1562】[NOI2009] 变换序列(匈牙利算法)
    【HHHOJ】NOIP模拟赛 玖 解题报告
    【BZOJ3930】[CQOI2015] 选数(容斥)
    【BZOJ1257】[CQOI2007] 余数之和(除法分块)
    杜教筛入门
    初学狄利克雷卷积
    关于积性函数的一些知识
  • 原文地址:https://www.cnblogs.com/yxwkf/p/5040721.html
Copyright © 2020-2023  润新知