码迷,mamicode.com
首页 > 编程语言 > 详细

springmvc + excel的生成

时间:2015-03-16 17:52:43      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:springmvc

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);
	}

}

效果图:

技术分享

springmvc + excel的生成

标签:springmvc

原文地址:http://blog.csdn.net/kouwoo/article/details/44308137

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!