首页>代码>spring mvc实现下载一个excel文件的java web程序>/export/src/main/java/com/web/controller/ExportFileController.java
package com.web.controller;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
@RequestMapping("/web")
public class ExportFileController {
	@RequestMapping("/show")
	public ModelAndView show(){
		System.out.println("show()...");
		ModelAndView model=new ModelAndView();
		model.setViewName("export");
		return model;
	}
	@RequestMapping("/file")
	public void exportFile(HttpServletRequest request,HttpServletResponse response){
		String fileName="batch_fund_template.xls";
		exportTemplate(request,response,fileName);
	}
	
	public void exportTemplate(HttpServletRequest request,HttpServletResponse response,String fileName){
		response.setContentType("application/vnd.ms-excel");
		String nowPath=request.getSession().getServletContext().getRealPath("/")+"/"+"WEB-INF"+"/"+"template"+"/"+fileName;
		File file=new File(nowPath);
		//清空response
		response.reset();
		OutputStream toClient=null;
		try {
		//以流的形式下载文件
			InputStream fis=new BufferedInputStream(new FileInputStream(nowPath));
			byte[] buffer=new byte[fis.available()];
			fis.read(buffer);
			fis.close();
			
			toClient=new BufferedOutputStream(response.getOutputStream());
			toClient.write(buffer);
			toClient.flush();
			toClient.close();
		} catch (Exception e) {
			throw new RuntimeException("导出错误");
		}finally{
			if(toClient!=null){
				try {
					toClient.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			
		}
	}
}
最近下载更多
hjd3983  LV10 2021年4月3日
业务管理  LV7 2021年1月28日
郭亚钢  LV8 2020年8月13日
wjh12345654321  LV14 2020年7月17日
小江2018  LV9 2020年6月12日
wangshihua  LV19 2020年4月3日
gongjunjienb  LV15 2019年11月30日
yuandaima1234  LV4 2019年11月28日
广西吴彦祖  LV6 2019年11月1日
zywzywzyw1  LV17 2019年10月29日
最近浏览更多
cz8857216  LV4 1月5日
uni-code_0123  LV1 2023年11月29日
lyj001 2023年10月24日
暂无贡献等级
微信网友_6145740972576768  LV2 2022年12月21日
PaymentCodeSystem  LV11 2022年9月22日
我不划水 2022年5月13日
暂无贡献等级
bai620123  LV16 2022年4月16日
gqb0123  LV1 2022年4月8日
xiex909  LV27 2022年3月31日
有时候简简单单就好了  LV4 2022年3月29日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友