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

}

效果图:

时间: 2024-11-08 06:46:43

springmvc + excel的生成的相关文章

python读取excel表格生成sql语句 第一版

由于单位设计数据库表·,都用sql.不知道什么原因不用 powerdesign或者ermaster工具,建表很痛苦  作为程序猿当然要想办法解决,用Python写一个程序解决 需要用到 xlrd linux下 sudo pip install xlrd 主要是适用于db2数据库 excel 表结构 其中 number是不正确的字段类型 不知道同事为啥这么设置.这里程序里有纠错,这个程序就是将sql语句拼好. __author__ = 'c3t' # coding:utf-8 import xlr

生成Excel *.xls 生成 xls的格式与文件扩展名指定的格式不一致

如果不想修改代码可以通过修改计算机配置完成  http://blog.csdn.net/g710710/article/details/21166453 用如下方法生成的xls不会提示此错误 protected static void ExportExcel(DataTable dt) { if (dt == null || dt.Rows.Count == 0) return; Microsoft.Office.Interop.Excel.Application xlApp = new Mic

Java学习之道:Java上传下载excel、解析Excel、生成Excel的问题

在软件开发过程中难免需要批量上传与下载,生成报表保存也是常有之事,最近集团门户开发用到了Excel模版下载,Excel生成,圆满完成,对这一知识点进行整理,资源共享,有不足之处还望批评指正,文章结尾提供了所需jar包的下载,方便大伙使用,下面言归正传! 1.Excel的下载 1)Action中: 添加响应事件,通过getRealPath获得工程路径,与jsp中获得request.getContextPath()效果相同,fileName为要下载的文件名,经过拼接filePath是xls文件的绝对

企业信息化-Excel快速生成系统

企业信息化,主要是指对企业生产运营过程所形成的信息数字化,最终形成了数字资产.大型企业为了节约成本,提高协同工作效率,都会定制ERP.办公OA.流程审批等系统做信息化支撑.但是中小企业精力投入到生成中,对信息化也有需求,但是因为各种原因不能投入的信息系统的建设,主要原因有: 1.资金申请难:一套软件系统,从几万到几十万都有,在成长的企业主要资金投入到生成过程,不能有太多的资金投入: 2.需求满足难:每个企业都有自己的规则和灵活处理的机制,并且随着政策和外部环境的变化,企业内部信息需求处理也是不断

Java上传下载excel、解析Excel、生成Excel

在软件开发过程中难免需要批量上传与下载,生成报表保存也是常有之事,最近集团门户开发用到了Excel模版下载,Excel生成,圆满完成,对这一知识点进行整理,资源共享,有不足之处还望批评指正,文章结尾提供了所需jar包的下载,方便大伙使用,下面言归正传! 1.Excel的下载 1)Action中: 添加响应事件,通过getRealPath获得工程路径,与jsp中获得request.getContextPath()效果相同,fileName为要下载的文件名,经过拼接filePath是xls文件的绝对

java 后台 Excel 文件生成后转化为字节流

Java 后台 Excel 文件生成后转化为字节流 java excel 使用 poi组件, HSSFWorkbook workBook = new HSSFWorkbook(); 对于workBook生成字节流,很容易发现有个workBook .getBytes(),但是,是不可用的,下载以后打不开, 如果下载,正确的写法为 workBook.write(response.getOutputStream()); 如果转化为字节流: ByteArrayOutputStream os = new

手把手教你-----巧用Excel批量生成SQL语句,处理大量数据

在做系统或者做项目的时候,经常会遇到这样的要求:用户给我们发过来一些数据,要求我们把这些数据导入到数 据库中,对于少量的数据来说,用最原始的方法就可以解决,直接在SQL里面用语句来实现,但是如果有成千上万条的 数据呢?如果你还继续单独写SQL语句,估计写个几十条你就会有跳楼的冲动,其实有两种简单的方法: 1.将Excel的数据整理好,通过SQL的导入功能直接导入到数据库中,但是要保证数据库的字段和Excel的字段一致. 2.通过Excel生成相应的SQL语句,然后,放到SQL的新建查询中,执行.

python接口自动化测试(十一)-写入excel(xlswriter)--生成图表

一.折线图: # -*- coding:utf-8 -*- import xlsxwriter # 创建一个excel workbook = xlsxwriter.Workbook("chart_line.xlsx") # 创建一个sheet worksheet = workbook.add_worksheet() # worksheet = workbook.add_worksheet("bug_analysis") # 自定义样式,加粗 bold = workb

NPOI mvc easyui 根据Excel模板 生成Excel

1.首先下载 NPOI  https://npoi.codeplex.com/releases  只要dll 就好 示例代码库太难懂了. NPOI 是一个开源  免费的 东西.而且不依赖 office.服务端 不安装 office 才行. 其实 这个跟 easyui 关系 不大. @{ ViewBag.Title = "Index"; Layout = "~/Views/Shared/_Layout.cshtml"; } <link href="~/