生成文件

以下以下载excel文件为例,如有其它需要可自定义实现类继承相应springmvc提供的试图接口即可。

如生成Excel则继承AbstractExcelView,生成PDF则继承AbstractPdfView。

java代码:

1 /*

2 * 导出用户信息到EXCEL

3 *

4 * @return

5 */

6 @RequestMapping(value = "/excel") 7 public ModelAndView exportExcel() { 8 ModelAndView mv = this.getModelAndView(); 9 PageData pd = new PageData(); 10 pd = this.getPageData(); 11 try { 12 13 // 检索条件=== 14 String USERNAME = pd.getString("USERNAME"); 15 if (null != USERNAME && !"".equals(USERNAME)) { 16 USERNAME = USERNAME.trim(); 17 pd.put("USERNAME", USERNAME); 18 } 19 String lastLoginStart = pd.getString("lastLoginStart"); 20 String lastLoginEnd = pd.getString("lastLoginEnd"); 21 if (lastLoginStart != null && !"".equals(lastLoginStart)) { 22 lastLoginStart = lastLoginStart + " 00:00:00"; 23 pd.put("lastLoginStart", lastLoginStart); 24 } 25 if (lastLoginEnd != null && !"".equals(lastLoginEnd)) { 26 lastLoginEnd = lastLoginEnd + " 00:00:00"; 27 pd.put("lastLoginEnd", lastLoginEnd); 28 } 29 // 检索条件=== 30 31 MapdataMap = new HashMap(); 32 Listtitles = new ArrayList(); 33 34 titles.add("用户名"); // 1 35 titles.add("编号"); // 2 36 titles.add("姓名"); // 3 37 titles.add("职位"); // 4 38 titles.add("手机"); // 5 39 titles.add("邮箱"); // 6 40 titles.add("最近登录"); // 7 41 titles.add("上次登录IP"); // 8 42 43 dataMap.put("titles", titles); 44 45 ListuserList = userService.listAllUser(pd); 46 ListvarList = new ArrayList(); 47 for (int i = 0; i < userList.size(); i++) { 48 PageData vpd = new PageData(); 49 vpd.put("var1", userList.get(i).getString("USERNAME")); // 1 50 vpd.put("var2", userList.get(i).getString("NUMBER")); // 2 51 vpd.put("var3", userList.get(i).getString("NAME")); // 3 52 vpd.put("var4", userList.get(i).getString("ROLE_NAME")); // 4 53 vpd.put("var5", userList.get(i).getString("PHONE")); // 5 54 vpd.put("var6", userList.get(i).getString("EMAIL")); // 6 55 vpd.put("var7", userList.get(i).getString("LAST_LOGIN")); // 7 56 vpd.put("var8", userList.get(i).getString("IP")); // 8 57 varList.add(vpd); 58 } 59 60 dataMap.put("varList", varList); 61 62 ObjectExcelView erv = new ObjectExcelView(); // 执行excel操作 63 64 mv = new ModelAndView(erv, dataMap); 65 } catch (Exception e) { 66 logger.error(e.toString(), e); 67 } 68 return mv; 69 }

返回视图类代码:

1 package com.fh.util;

2

3 import java.util.Date;

4 import java.util.List;

5 import java.util.Map;

6

7 import javax.servlet.http.HttpServletRequest;

8 import javax.servlet.http.HttpServletResponse; 9 10 import org.apache.poi.hssf.usermodel.HSSFCell; 11 import org.apache.poi.hssf.usermodel.HSSFCellStyle; 12 import org.apache.poi.hssf.usermodel.HSSFFont; 13 import org.apache.poi.hssf.usermodel.HSSFSheet; 14 import org.apache.poi.hssf.usermodel.HSSFWorkbook; 15 import org.springframework.web.servlet.view.document.AbstractExcelView; 16 17 18 /** 19 * 导入到EXCEL 类名称:ObjectExcelView.java 20 * @author link 21 * 22 */ 23 public class ObjectExcelView extends AbstractExcelView { 24 25 @Override 26 protected void buildExcelDocument(Mapmodel, HSSFWorkbook workbook, HttpServletRequest request, 27 HttpServletResponse response) throws Exception { 28 // TODO Auto-generated method stub 29 Date date = new Date(); 30 String filename = Tools.date2Str(date, "yyyyMMddHHmmss"); 31 HSSFSheet sheet; 32 HSSFCell cell; 33 response.setContentType("application/octet-stream"); 34 response.setHeader("Content-Disposition", "attachment;filename=" + filename + ".xls"); 35 sheet = workbook.createSheet("sheet1"); 36 37 Listtitles = (List) model.get("titles"); 38 int len = titles.size(); 39 HSSFCellStyle headerStyle = workbook.createCellStyle(); // 标题样式 40 headerStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); 41 headerStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); 42 HSSFFont headerFont = workbook.createFont(); // 标题字体 43 headerFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); 44 headerFont.setFontHeightInPoints((short) 11); 45 headerStyle.setFont(headerFont); 46 short width = 20, height = 25 * 20; 47 sheet.setDefaultColumnWidth(width); 48 for (int i = 0; i < len; i++) { // 设置标题 49 String title = titles.get(i); 50 cell = getCell(sheet, 0, i); 51 cell.setCellStyle(headerStyle); 52 setText(cell, title); 53 } 54 sheet.getRow(0).setHeight(height); 55 56 HSSFCellStyle contentStyle = workbook.createCellStyle(); // 内容样式 57 contentStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); 58 ListvarList = (List) model.get("varList"); 59 int varCount = varList.size(); 60 for (int i = 0; i < varCount; i++) { 61 PageData vpd = varList.get(i); 62 for (int j = 0; j < len; j++) { 63 String varstr = vpd.getString("var" + (j + 1)) != null ? vpd.getString("var" + (j + 1)) : ""; 64 cell = getCell(sheet, i + 1, j); 65 cell.setCellStyle(contentStyle); 66 setText(cell, varstr); 67 } 68 } 69 } 70 }

文件上传

springmvc配置文件:

1 xml version="1.0" encoding="UTF-8"?>

2

3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"

4 xmlns:mvc="http://www.springframework.org/schema/mvc"

5 xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd6 http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd7 http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27 mvc:interceptor>

28 mvc:interceptors>

29

30

31

33

34

35 bean>

36

37

38 bean>

39

40

41

42

43 104857600value>

44 property>

45

46 4096value>

47 property>

48

49 utf-8value>

50 property>

51 bean>

52 beans>

jsp代码:

1

2

3

4 5

6 td>

7 tr>

8

9

10 导入a>

11 取消a>

12 >下载模版a>

13 td>

14 tr>

15 table>

16 div>

17 h4>div>

18 form>

java代码:

1 /**2 * 从EXCEL导入到数据库3 */4 @RequestMapping(value = "/readExcel")5 public ModelAndView readExcel(@RequestParam(value = "excel", required = false) MultipartFile file)6 throws Exception {7 ModelAndView mv = this.getModelAndView();8 PageData pd = new PageData();9

10 if (null != file && !file.isEmpty()) {11 String filePath = PathUtil.getClasspath() + Const.FILEPATHFILE; // 文件上传路径12 String fileName = FileUpload.fileUp(file, filePath, "userexcel"); // 执行上传13

14 ListlistPd = (List) ObjectExcelRead.readExcel(filePath, fileName, 2, 0, 0); // 执行读EXCEL操作,读出的数据导入List15 // 2:从第3行开始;0:从第A列开始;0:第0个sheet16

17 /* 存入数据库操作 */18 pd.put("RIGHTS", ""); // 权限19 pd.put("LAST_LOGIN", ""); // 最后登录时间20 pd.put("IP", ""); // IP21 pd.put("STATUS", "0"); // 状态22 pd.put("SKIN", "default"); // 默认皮肤23

24 ListroleList = roleService.listAllERRoles(); // 列出所有二级角色25

26 pd.put("ROLE_ID", roleList.get(0).getROLE_ID()); // 设置角色ID为随便第一个27 /**28 * var0 :编号 var1 :姓名 var2 :手机 var3 :邮箱 var4 :备注29 */30 for (int i = 0; i < listPd.size(); i++) {

31 pd.put("USER_ID", this.get32UUID()); // ID

32 pd.put("NAME", listPd.get(i).getString("var1")); // 姓名

33

34 String USERNAME = GetPinyin.getPingYin(listPd.get(i).getString("var1")); // 根据姓名汉字生成全拼

35 pd.put("USERNAME", USERNAME);

36 if (userService.findByUId(pd) != null) { // 判断用户名是否重复

37 USERNAME = GetPinyin.getPingYin(listPd.get(i).getString("var1")) + Tools.getRandomNum();

38 pd.put("USERNAME", USERNAME);

39 }

40 pd.put("BZ", listPd.get(i).getString("var4")); // 备注

41 if (Tools.checkEmail(listPd.get(i).getString("var3"))) { // 邮箱格式不对就跳过

42 pd.put("EMAIL", listPd.get(i).getString("var3"));

43 if (userService.findByUE(pd) != null) { // 邮箱已存在就跳过

44 continue;

45 }

46 } else {

47 continue;

48 }

49

50 pd.put("NUMBER", listPd.get(i).getString("var0")); // 编号已存在就跳过

51 pd.put("PHONE", listPd.get(i).getString("var2")); // 手机号

52

53 pd.put("PASSWORD", new SimpleHash("SHA-1", USERNAME, "123").toString()); // 默认密码123

54 if (userService.findByUN(pd) != null) {

55 continue;

56 }

57 userService.saveU(pd);

58 }

59 /* 存入数据库操作*/

60

61 mv.addObject("msg", "success");

62 }

63

64 mv.setViewName("save_result");

65 return mv;

66 }

springmvc html excel文件,springmvc生成文件(excel、pdf...)和文件上传相关推荐

  1. pdf压缩文件怎么压缩最小,pdf大小超过上传大小不能上传怎么压缩?

    pdf压缩文件怎么压缩最小?pdf是日常办公中比较常见的一种文件格式,但是有时候pdf文件的容量会比较大,上传到某些平台会有限制,那么我们就需要压缩pdf文件,但是有时候压缩处理会模糊,今天我给大家介 ...

  2. 学习日志day41(2021-09-03)(1、文件的上传 2、文件的查看 3、文件的下载 4、使用工具类上传文件 5、基于servlet3.0以上的文件上传 )

    学习内容:学习JavaWeb(Day41) 1.文件的上传 2.文件的查看 3.文件的下载 4.使用工具类上传文件 5.基于servlet3.0以上的文件上传 1.文件的上传 (1)实现文件的上传需要 ...

  3. bootstrap-fileinput上传文件的插件使用总结----编辑已成功上传过的图片

    http://plugins.krajee.com/file-plugin-methods-demo 具体操作 http://plugins.krajee.com/file-preview-manag ...

  4. vue上传excel并展示_(一)vue导入上传excel功能

    1.excel上传功能 ref="upload" :show-upload-list="false" :default-file-list="defa ...

  5. 如何设置ftp服务器上传文件夹至不同路径,设置ftp服务器上传文件夹

    设置ftp服务器上传文件夹 内容精选 换一换 上传单个或多个本地文件或文件夹至OBS指定路径.待上传的文件可以是任何类型:文本文件.图片.视频等等.上传本地文件或文件夹时,请确保本地文件或文件夹在上传 ...

  6. vue上传文件到php,vue+axios+php如何实现上传文件功能?,formdata上传文件附加参数...

    vue+axios+php如何实现上传文件功能?Vue Axios PHP如何实现上传文件的功能?, 推荐:<PHP视频教程> 当我们提交表单时,我们经常会遇到一些表单提交要求.vue的a ...

  7. php 上传文件 重命名_如何用PHP给上传的文件改名

    用PHP给上传的文件改名的方法:首先新建一个html文件,并创建form表单:然后新建Php文件用于接收form表单传递过来的文件数据,并设置文件的编码为utf8:接着创建上传文件保存的目录变量[$s ...

  8. libcurl中上传文件的坑-英文操作系统中文路径无法上传返回26错误码

    libcurl中上传文件的坑-英文操作系统中文路径无法上传返回26错误码 最近在使用libcurl使用表单形式上传本地文件,自己测试的时候都没有问题,但是在测试的电脑上无法上传,返回26错误码,在li ...

  9. PHP上传文件超过了最大文件大小限制导致无法上传成功

    最近的研究<HeadFirst PHP & MySQL>第一本书5章"使用存储在文件中的数据",难道当一个文件上传应用程序,发生了错误.即,文件不能成功上传.这 ...

  10. JAVA实现生成原生二维码并上传至阿里云

    JAVA生成二维码并上传至阿里云 pom依赖 <dependency><groupId>com.google.zxing</groupId><artifact ...

最新文章

  1. Linux SPI总线设备驱动模型详解
  2. JedisPool无法获得资源问题
  3. 从STL中查找、统计和过滤重复(相同)的数据
  4. Algorithm, Secret key and Protocol
  5. Spark记录-Scala语法基础
  6. 《信息学奥赛一本通提高篇》第6章 组合数学
  7. Agile.Net 组件式开发平台 - 平台系统介绍
  8. asp.net 百度编辑器 UEditor 上传图片 图片上传配置 编辑器配置 网络连接错误,请检查配置后重试...
  9. CANOE学习笔记-CAPL语言设计
  10. 非常不错的Solaris文章,适合入门
  11. 服务器没有系统能配置ip地址嘛,win10系统没有有效的ip配置怎么解决
  12. Android程序员该如何进阶?,2021Android面经
  13. 第17天 命令行窗口
  14. 数组的entries()方法
  15. ES6模块化的引入和暴漏本质
  16. AFM的工作模式(一)
  17. c语言 验证用户名密码
  18. 网络协议MPL(3):RFC2606--The Trickle Algorithm文档翻译
  19. unlikely和likely的使用
  20. “华为区块链白皮书”重磅发布(附下载链接)

热门文章

  1. 电商里面的SPU和SKU到底是什么?
  2. 分享一些Python爬虫实例项目
  3. 机器学习 标称型和数值型概念
  4. 项目经理之成功项目经理手册
  5. mysql数据库面试题带答案(一)
  6. 浅析Activity启动模式
  7. 陪孩子一起学python第二季第2集_跟我一起学python | 探究02
  8. dB dBm dBw
  9. 微软日语输入法全掌握
  10. 会员制营销以及E-mail营销的培训