前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >springmvc + excel代

springmvc + excel代

作者头像
全栈程序员站长
发布2022-07-06 20:23:47
1750
发布2022-07-06 20:23:47
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是全栈君

1.xml简介

代码语言:javascript
复制
	<!-- 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

代码语言:javascript
复制
	@RequestMapping("excelAction")
	public String excelAction(Map<String, Object> map){
		
		// 传给ViewExcel的值
		map.put("p1", "hello");
		map.put("p2", "world");
		
		return "viewExcel111"; 
	}

3.ViewExcel

代码语言:javascript
复制
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);
	}

}

效果图:

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年1月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档