关于如何进行Excel/Word等文档的下载

本人开发阶段,有很多功能都是跟Word,Excel,PPT这些有关,我们有很多POI可用啦实现,在这里我就是用的POI.我这里介绍两种我曾经用到过的方法:

1. 直接使用模板文档丢在自身的服务器上(最简单,最便捷)

将模板文件丢在服务器上的特定的目录上是最简单,最便捷,最使用的方法,不用写什么代码,后期不管怎么变动都不会受到影响(服务器异常,自然环境影响情况除外)

我的做法是:直接把文档放在web项目下,比如:
在这里插入图片描述
访问如下:直接在页面上放个按钮:
在这里插入图片描述
页面效果:
在这里插入图片描述

2. 以代码形式,进行Excel的模板生成

在这里插入图片描述
按钮实现
在这里插入图片描述

    /**
     * 下载账单模板(201906版后)
     */
    private static final String DOWN_EXCEL = "/admin/phone/downExcel";
 /**
     * 从服务器固定位置下载账单模板
     *
     * @return
     * @author huaiyan
     */
    @RequestMapping(value = DOWN_EXCEL, method = {
   RequestMethod.POST, RequestMethod.GET})
    public void downExcel() {
   
        try {
   
            long currentTimeMillis = System.currentTimeMillis();
            List<Map<String, Object>> list = new ArrayList<>();
            // 清空输出流
            response.reset();
            String name = getLoginUser().getName();
            String fileName = "账单模板.xls";
            logger.info("PhoneBillController.downExcel info={}", name + "请求下载账单模板...");
            String[] columnsName = {
   "手机号", "套餐类型", "实际月费", "套餐外通话费", "套餐外流量费", "套餐外短彩信费", "套餐外其他", "小计",
                    "移动合计", "备注及套餐外其他说明", "公司所属", "开户日期", "POS券日期", "总使用分钟数", "套餐外通话时长", "套餐外短信数", "套餐外流量数", "移动余额"};
            String[] key = {
   };
            ByteArrayOutputStream os = new ByteArrayOutputStream();
            ExcelUtil.createWorkBook(list, key, columnsName).write(os);
            logger.info("PhoneBillController.downExcel info={}", "开始读取文件到输入流中...");
            byte[] content = os.toByteArray();
            InputStream is = new ByteArrayInputStream(content);
            // 放到缓冲流里面
            logger.info
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值