springmvc + excel代

springmvc + excel代

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

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代

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116699.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • gain command of_partitioning

    gain command of_partitioning今天在Centos上进行硬盘分区的时候,分区完成时候需要命令partprobe指令来通知一下内核我刚才进行了系统分区,但是执行的时候发现Centos最小化安装之后没有这个命令,第一时间想到的就是肯定是包含这个指令的rpm包没有装,然后就跑到Centos7上面看一下有没有这条指令,发现有这条指令,然后就查看一下这条指令是来自于哪个安装包[root@zsf~]#whichp…

    2022年10月8日
    4
  • 程序,进程,线程的区别和联系

    程序,进程,线程的区别和联系进程和程序区别和联系表现在以下方面:1)程序只是一组指令的有序集合,它本身没有任何运行的含义,它只是一个静态的实体。而进程则不同,它是程序在某个数据集上的执行。进程是一个动态的实体,它有自己的生命周期。它因创建而产生,因调度而运行,因等待资源或事件而被处于等待状态,因完成任务而被撤消。反映了一个程序在一定的数据集上运行的全部动态过程。2)进程和程序并不是一一对应的,一个程序执行在不同的数据集上…

    2022年7月15日
    13
  • ubuntu域名服务器配置_linux虚拟主机配置

    ubuntu域名服务器配置_linux虚拟主机配置像我一样刚开始接触Ubuntu系统朋友不知道怎么配置虚拟主机的可以看一下,这里完整记录了我配置虚拟主机的全部过程

    2022年9月2日
    4
  • 领英群发消息技巧[通俗易懂]

    领英群发消息技巧[通俗易懂]使用Linkedin的人都有群发消息的需求,但Linkedin平台并没有提供群发功能。如果要群发的话,只能把所有好友拉到一个群里再发送。这样,所有的好友都可以在里面聊天,无法做到单独显示的效果。领英精灵注册试用网址:http://linkedinjl.com/r?i=SPSAMR那有没有一种方法,可以实现快速群发并单独显示的效果呢?答案是肯定的,下面就教大家一种方法,实现快速群发消息并单独显示的效果。操作步骤:1.首先需要准备好领英精灵工具,安装后,右侧会有工具操作界面2.再.

    2022年6月3日
    54
  • Word 域代码:TOA(引文目录)域「建议收藏」

    Word 域代码:TOA(引文目录)域「建议收藏」 域代码:TOA(引文目录)域{TOC[Switches]}建立一个目录。TOC域根据标题级别、指定样式或由TC(目录项)域指定的项目来收集目录项。在使用“插入”菜单中“引用”子菜单中的“索引和目录”命令时,MicrosoftWord将插入TOC域。注释如果由TOC域创建的目录影响文档的分页,则可能需要再次更新域以得到正确的页码。开关/a标识符使

    2022年5月31日
    80
  • wxpython中文教程_wxPython快速入门教程

    wxpython中文教程_wxPython快速入门教程1第一个应用程序“Hello,world”importwxapp=wx.App(False)frame=wx.Frame(None,wx.ID_ANY,”HolloWorld”)frame.Show(True)app.MainLoop()2是创造一个wx.App实例。参数是“False”的意思是不将stdout和stderr重定向到一个窗口,这个参数是“True”对这个例子没有…

    2022年5月21日
    25

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号