1.控制器方法

private URL base = this.getClass().getResource("");

/*** 流拍之后,可以下载询价单* * @param id 拍卖id* @param response*/@RequestMapping(value="/inquiryDownLoad",method = RequestMethod.GET)@ResponseBodypublic void inquiryDownLoad(String aucId,HttpServletResponse response) {       //日志记录if (logger.isDebugEnabled()) {logger.debug("inquiryDownLoad, aucLotId ", aucId);}SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");AucLot  aucLot = aucLotRepository.findOne(aucId); if(aucLot!=null){SysUser sysUser=sysUserRepository.findOne(aucLot.crtUserId());AucPrice aucPrice=aucPriceListService.findAucLotCurrentPrice(aucId);try {//获取模板文件的目录地址String fileDir = new File(base.getFile(), "../../../../../../doc/").getCanonicalPath();//获取模板文件File demoFile=new File(fileDir + "/inquiryPrice.xls");//这里传入一个空模板FileInputStream in = new FileInputStream(demoFile);//创建Excel的 JAVA 对象HSSFWorkbook book = new HSSFWorkbook(in);HSSFSheet sheet = book.getSheetAt(0);//获取Excel的第一页内容    sheet.protectSheet("123456");//设置Excel编辑密码,没有密码不可以编辑HSSFRow row = null;HSSFCell cell=null;

          //动态更新特定坐标位置的值//公司留存 拍卖开始时间row=sheet.getRow(6);cell=row.getCell(12);cell.setCellValue(sdf.format(aucLot.startTime()));//公司留存委托人姓名and手机号row=sheet.getRow(9);cell=row.getCell(11);cell.setCellValue(aucLot.crtUserName());row=sheet.getRow(11);cell=row.getCell(11);if(sysUser!=null && sysUser.mobile()!=null){cell.setCellValue(sysUser.mobile().replace(sysUser.mobile().substring(3, 8), "****"));}//委托人留存row=sheet.getRow(35);cell=row.getCell(11);cell.setCellValue(aucLot.crtUserName());row=sheet.getRow(37);cell=row.getCell(11);if(sysUser!=null && sysUser.mobile()!=null){cell.setCellValue(sysUser.mobile().replace(sysUser.mobile().substring(3, 8), "****"));}//拍品保留价and最高出价row=sheet.getRow(21);cell=row.getCell(29);cell.setCellValue(aucLot.reservePrice().doubleValue());row=sheet.getRow(22);cell=row.getCell(29);cell.setCellValue(aucPrice.price().doubleValue());//设置下载题头response.setContentType("application/xls");String name = java.net.URLEncoder.encode(aucLot.goodsNo()+"测试.xls", "UTF8");response.addHeader("Content-Disposition", "attachment; filename=" + name);ByteArrayOutputStream ostream = new ByteArrayOutputStream();ServletOutputStream servletOS = response.getOutputStream();book.write(ostream);servletOS.write(ostream.toByteArray());servletOS.flush();servletOS.close();} catch (IOException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}}}

poi 技术动态更新 Excel模板内容,动态更新内容相关推荐

  1. POI——动态修改Excel模板下拉框

    需求: 在导入页面放置了的Excel模板,最开始内容是写死的.现在需要将数据库的数据动态的加载到excel模板的下拉框中.使用的为poi.xssf 相关jar包 poi-3.10-FINAL-2014 ...

  2. Java动态生成excel模板文件(包含列下拉)

    1.添加依赖 <!-- https://mvnrepository.com/artifact/org.apache.poi/poi --> <dependency><gr ...

  3. JAVA动态生成excel模板;列自定义下拉框赋值

    哈喽,2023大家开工大吉啊!财源滚滚! 业务需求:需要生成excel模板,且对部分列设置下拉框,进行动态赋值,效果如下: 拿上图举例:针对省这一列,不是填写,而是选择数据,也就是说我们生成excel ...

  4. Java jxl在excel模板中动态加入数据,及前端下载excel的例子

    写了一个小demo,把这样一个流程跑通,前端通过点击一个下载按钮,根据前端显示的数据,下载Excel文件到本地. 先分析一下整个流程 前端通过ajax的post请求,传递json字符串到后台. 后台接 ...

  5. java使用POI的HSSFWorkbook导出excel模板添加各种校验

    java导出excel模板添加各种校验 添加值域(下拉列) /*** @description 设置某些列的值只能输入预制的数据,显示下拉框.* @param sheet 模板sheet页(需要设置下 ...

  6. 动态创建excel文件,动态合并单元格并提供下载

    1.动态生成excel的原因 ** 出现的效果: ** 员工姓名没有自动合并单元格,在http://jxls.sourceforge.net/reference/xls_area.html 上面找了半 ...

  7. springboot+poi导出指定格式Excel模板详解+Demo

    项目用的是springboot框架,非常的简单,只需导入项目即可运行,先看看效果: 资源下载地址: http://download.csdn.net/download/tjcyjd/9998721 具 ...

  8. 实现用户自定义Excel模板

    2019独角兽企业重金招聘Python工程师标准>>> 需求背景: 在Excel的实际使用过程中,动态生成报表.导出报表等都是最终用户常常使用的功能,使用常规的方式针对模板中具体的每 ...

  9. 利用POI 技术动态替换word模板内容

    项目中需要实现一个功能,动态替换给定模板里面的内容,生成word文档提供下载功能. 中间解决了问题有: 1.页眉的文档logo图片解决,刚开始的时候,HWPFDocument 对象无法读取图片对象(已 ...

最新文章

  1. 激辩:机器究竟能否理解常识?
  2. 浅谈PHP在各系统平台下的换行符
  3. Jedis Cluster源码分析
  4. 在传统行业做数字化转型之最终篇
  5. P2468 [SDOI2010]粟粟的书架 动态规划,主席树,二分答案
  6. qt中QHostAddress与QString相互转换
  7. 效率提升工具--高级剪贴板Ditto Ditto - Windows剪贴板增强小工具,方便复制粘贴多条记录
  8. esxi vsphere的端口_硬干货!一张图弄清楚在ESXi下如何进行网络抓包
  9. 对一道if-else相关的程序题的简单分析
  10. 《Java编程思想》笔记14.类型信息
  11. fast虚拟服务器ip地址设置,falogin.cn fast怎样正确设置电脑的IP地址和DNS等参数? - falogincn登录页面...
  12. 我发现混的好的,都是挺能“吹牛逼”的
  13. 「SDOI2017」树点涂色 解题报告
  14. linux shell用变量的值作为新变量名
  15. 电子面单平台JAVA对接方案
  16. Python与MySQL交互——简易用户注册登录
  17. 怎样用python制表_用Python绘图和制表(附泰坦尼克号案例)
  18. 手机屏幕到底要多大才算是个头?
  19. No.04 色散补偿 O-FDE算法 交叠频域均衡算法 MATLAB Python 代码实现
  20. jQuery手机触屏拖动滑块验证跳转插件

热门文章

  1. php公共控制器,Thinkphp 3.2.3 公共控制器的使用
  2. 命名实体识别_命名实体识别的几种标注形式
  3. python 对话框开发_python文件选择对话框的操作方法
  4. Auto.js 全命令整理(一) 数据获取专题
  5. python 递归函数_Python教程系列之递归函数与匿名函数调用
  6. Android内部类监听和多对象监听方法
  7. 组播vlan_【参与方式】耗时10小时编撰(下)带你轻松通关组播知识点!
  8. 启动项目无法打印日志处理及logback简单使用
  9. sql server中的注释快捷键
  10. flink的watermark简单理解