EasyExcel填充数据EasyExcel填充数据流下载 easyexcel填充excel下载 easyexcel填充

2023-11-10

EasyExcel填充数据EasyExcel填充数据流下载 easyexcel填充excel下载 easyexcel填充

1、填充数据然后将文件输出给浏览器

官网地址

官网的demo填充生成的是file文件, 实际需求用的最多的是 填充完数据将Excel输出给浏览器

填充模版Excel文件用的是官方的: 地址: https://github.com/alibaba/easyexcel/blob/master/easyexcel-test/src/test/resources/fill/complex.xlsx

示例代码来自官方的 复杂填充 代码改造,官网地址: https://github.com/alibaba/easyexcel/blob/master/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java

	/*
	* 构建数据
	*/
    private List<FillData> data() {
        List<FillData> list = ListUtils.newArrayList();
        for (int i = 0; i < 10; i++) {
            FillData fillData = new FillData();
            list.add(fillData);
            fillData.setName("张三");
            fillData.setNumber(5.2);
            fillData.setDate(new Date());
        }
        return list;
    }

	public void complex(HttpServletRequest request, HttpServletResponse response) throws ServiceException, IOException {
		
		// 模版所在路径,将官方文件下载下来
		File template= "F:\\complexFiles\\complex.xlsx";
		
		// EasyExcel没有提供填充数据 Excel流下载。需要自己实现
		
		// 创建一个 字节数组输出流,填充数据到字节数组流,然后在输出给浏览器
		ByteArrayOutputStream os = new ByteArrayOutputStream();
	
        
		try (ExcelWriter excelWriter = EasyExcel.write(os).withTemplate(template).build()) {
			
			WriteSheet writeSheet = EasyExcel.writerSheet().build();
			
			// 填充列表数据
			excelWriter.fill(data(), writeSheet);
			
			// 写入list之前的数据
            Map<String, Object> map = MapUtils.newHashMap();
            map.put("date", "2019年10月9日13:28:28");
            map.put("total", 1000);
			
			excelWriter.fill(map, writeSheet);
			
			// 刷新
			excelWriter.finish();
			
			// 直接输出文件
//            response.getOutputStream().write(os.toByteArray());
//            response.getOutputStream().flush();
			
			BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(response.getOutputStream(), 8152);
			bufferedOutputStream.write(os.toByteArray());
			bufferedOutputStream.close();
			
			// 或者使用GZIP压缩输出,但是需要服务器支持
//            OutputStream outputStream = response.getOutputStream();
//            GZIPOutputStream gzipOutputStream = new GZIPOutputStream(outputStream);
//            // 或者
//            DeflaterOutputStream deflaterOutputStream = new DeflaterOutputStream(outputStream);
//            deflaterOutputStream.write(os.toByteArray());
//            deflaterOutputStream.finish();
//            deflaterOutputStream.close();
		
		}
		
	}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

EasyExcel填充数据EasyExcel填充数据流下载 easyexcel填充excel下载 easyexcel填充 的相关文章

  • Java8无符号算术

    据广泛报道 Java 8 具有对无符号整数的库支持 然而 似乎没有文章解释如何使用它以及有多少可能 有些函数 例如 Integer CompareUnsigned 很容易找到 并且似乎可以实现人们所期望的功能 但是 我什至无法编写一个简单的
  • CXF Swagger2功能添加安全定义

    我想使用 org apache cxf jaxrs swagger Swagger2Feature 将安全定义添加到我的其余服务中 但是我看不到任何相关方法或任何有关如何执行此操作的资源 下面是我想使用 swagger2feature 生成
  • 在数据流模板中调用 waitUntilFinish() 后可以运行代码吗?

    我有一个批处理 Apache Beam 作业 它从 GCS 获取文件作为输入 我的目标是根据执行后管道的状态将文件移动到两个 GCS 存储桶之一 如果管道执行成功 则将文件移动到存储桶 A 否则 如果管道在执行过程中出现任何未处理的异常 则
  • Convert.FromBase64String 方法的 Java 等效项

    Java 中是否有相当于Convert FromBase64String http msdn microsoft com en us library system convert frombase64string aspx which 将指
  • 如何为 Gson 编写自定义 JSON 反序列化器?

    我有一个 Java 类 用户 public class User int id String name Timestamp updateDate 我收到一个包含来自 Web 服务的用户对象的 JSON 列表 id 1 name Jonas
  • Java 页面爬行和解析之 Crawler4j 与 Jsoup

    我想获取页面的内容并提取其中的特定部分 据我所知 此类任务至少有两种解决方案 爬虫4j https github com yasserg crawler4j and Jsoup http jsoup org 它们都能够检索页面的内容并提取其
  • 无法理解 Java 地图条目集

    我正在看一个 java 刽子手游戏 https github com leleah EvilHangman blob master EvilHangman java https github com leleah EvilHangman b
  • Clip 在 Java 中播放 WAV 文件时出现严重延迟

    我编写了一段代码来读取 WAV 文件 大小约为 80 mb 并播放该文件 问题是声音播放效果很差 极度滞后 你能告诉我有什么问题吗 这是我的代码 我称之为doPlayJframe 构造函数内的函数 private void doPlay f
  • 如何将文件透明地传输到浏览器?

    受控环境 IE8 IIS 7 ColdFusion 当从 IE 发出指向媒体文件 例如 mp3 mpeg 等 的 GET 请求时 浏览器将启动关联的应用程序 Window Media Player 我猜测 IIS 提供文件的方式允许应用程序
  • 检查 protobuf 消息 - 如何按名称获取字段值?

    我似乎无法找到一种方法来验证 protobuf 消息中字段的值 而无需显式调用其 getter 我看到周围的例子使用Descriptors FieldDescriptor实例到达消息映射内部 但它们要么基于迭代器 要么由字段号驱动 一旦我有
  • 将 JSON 参数从 java 发布到 sinatra 服务

    我有一个 Android 应用程序发布到我的 sinatra 服务 早些时候 我无法读取 sinatra 服务上的参数 但是 在我将内容类型设置为 x www form urlencoded 之后 我能够看到参数 但不完全是我想要的 我在
  • Android JNI C 简单追加函数

    我想制作一个简单的函数 返回两个字符串的值 基本上 java public native String getAppendedString String name c jstring Java com example hellojni He
  • Java - 不要用 bufferedwriter 覆盖

    我有一个程序可以将人员添加到数组列表中 我想做的是将这些人也添加到文本文件中 但程序会覆盖第一行 因此这些人会被删除 如何告诉编译器在下一个空闲行写入 import java io import java util import javax
  • 如何测试 spring-security-oauth2 资源服务器安全性?

    随着 Spring Security 4 的发布改进了对测试的支持 http docs spring io spring security site docs 4 0 x reference htmlsingle test我想更新我当前的
  • android Accessibility-service 突然停止触发事件

    我有一个 AccessibilityService 工作正常 但由于开发过程中的某些原因它停止工作 我似乎找不到这个原因 请看一下我的代码并告诉我为什么它不起作用 public class MyServicee extends Access
  • 休眠以持久保存日期

    有没有办法告诉 Hibernate java util Date 应该持久保存 我需要这个来解决 MySQL 中缺少的毫秒分辨率问题 您能想到这种方法有什么缺点吗 您可以自己创建字段long 或者使用自定义的UserType 实施后User
  • java迭代器内部是如何工作的? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个员工列表 List
  • 使用宏打开受信任文档或启用宏时 Excel 崩溃

    正如标题所示 我无法使用宏打开受信任的文档 Excel 立即崩溃 制作文档的副本允许其打开 因为该副本不受信任 并且我可以检查 VB 编辑器中的宏 但启用宏会导致另一次崩溃 为什么会发生这种情况以及我可以采取什么措施来解决它 我今天遇到了类
  • 中断连接套接字

    我有一个 GUI 其中包含要连接的服务器列表 如果用户单击服务器 则会连接到该服务器 如果用户单击第二个服务器 它将断开第一个服务器的连接并连接到第二个服务器 每个新连接都在一个新线程中运行 以便程序可以执行其他任务 但是 如果用户在第一个
  • java8 Collectors.toMap() 限制?

    我正在尝试使用java8Collectors toMap on a Stream of ZipEntry 这可能不是最好的想法 因为在处理过程中可能会发生异常 但我想这应该是可能的 我现在收到一个我不明白的编译错误 我猜是类型推理引擎 这是

随机推荐

  • golang中strings.split的使用,分割

    package main import fmt strings func main fmt Printf q n strings Split a b b fmt Printf q n strings Split a boy a girl a
  • 图技术在 LLM 下的应用:知识图谱驱动的大语言模型 Llama Index

    LLM 如火如荼地发展了大半年 各类大模型和相关框架也逐步成型 可被大家应用到业务实际中 在这个过程中 我们可能会遇到一类问题是 现有的哪些数据 如何更好地与 LLM 对接上 像是大家都在用的知识图谱 现在的图谱该如何借助大模型 发挥更大的
  • Jenkins构建(8):Jenkins 执行远程shell :Send files or execute commands over SSH

    Jenkins 执行远程shell Send files or execute commands over SSH 一 远程执行shell命令 python脚本 1 环境配置 管理Jenkins gt Configure System 模块
  • idea 国内插件库_IDEA 超实用使用技巧分享(长篇)

    前言 工欲善其事 必先利其器 最近受部门的邀请 给入职新人统一培训IDEA 发现有很多新人虽然日常开发使用的是IDEA 但是还是很多好用的技巧没有用到 只是用到一些基本的功能 蛮浪费IDEA这个优秀的IDE 同时 在这次分享之后 本人自己也
  • 排序算法——基数排序(C语言)

    基数排序的概念 什么是基数排序 基数排序是一种和快排 归并 希尔等等不一样的排序 它不需要比较和移动就可以完成整型的排序 它是时间复杂度是O K N 空间复杂度是O K M 基数排序的思想 基数排序是一种借助多关键字的思想对单逻辑关键字进行
  • python爬虫从零开始_python爬虫---从零开始(一)初识爬虫

    我们开始来谈谈python的爬虫 1 什么是爬虫 网络爬虫是一种按照一定的规则 自动地抓取万维网信息的程序或者脚本 另外一些不常使用的名字还有蚂蚁 自动索引 模拟程序或者蠕虫 互联网犹如一个大蜘蛛网 我们的爬虫就犹如一个蜘蛛 当在互联网遇到
  • 计算机网络mask是什么意思,mask是什么意思

    你知道mask是什么意思吗 可能你在网络上偶尔会看到这样的词 但网络上的新词多到数不清 根本没有时间去仔细去了解 下面就让我们带你一起 来详细了解一下mask是什么意思吧 mask是什么意思 假面具 伪装 遮蔽物 All guests wo
  • ppt拖动就复制_PPT快捷键丨这些快捷键可助你事半功倍

    工欲善其事 必先利其器 如果你常用的快捷键只有Ctrl C Ctrl V 那你要仔细看下这篇文章了 PS 这个键盘是PPT做的哦 后台回复 键盘 获取源文件 快捷键 顾名思义就是快和方便 所以能熟练使用PPT快捷键 会使我们变得更高效 桔子
  • Shiro和Spring Security对比

    一 Shiro简介 1 什么是Shiro Shiro是apache旗下一个开源框架 它将软件系统的安全认证相关的功能抽取出来 实现用户身份 认证 权限授权 加密 会话管理等功能 组成了一个通用的安全认证框架 2 Shiro 的特点 Shir
  • VMware虚拟机连不上网络,最详细排查解决方案

    虚拟机连不上网 ping某个网站时并显示此信息 ping www baidu com Name or service not known 步骤一 排查Windows自身问题 有可能这个问题不是你虚拟机有问题 而是装虚拟机的Windows本身
  • 【数据结构】数组和字符串

    本文是对leetbook 数组和字符串 学习完成后的总结 数组和字符串 数组简介 寻找数组的中心索引 搜索插入位置 合并区间 二维数组简介 旋转矩阵 零矩阵 对角线遍历 字符串简介 最长公共前缀 最长回文子串 翻转字符串里的单词 实现 st
  • 前端开发同步和异步的区别?

    在前端开发中 同步 一般指的是在代码运行的过程中 从上到下逐步运行代码 每一部分代码运行完成之后 下面的代码才能开始运行 异步 指的是当我们需要一些代码在执行的时候不会影响其他代码的执行 也就是在执行代码的同时 可以进行其他的代码的执行 不
  • 转:安装MySQL遇到MySQL Server Instance Configuration Wizard未响应的解决办法

    问题 安装了MySQL之后进入配置界面的时候 总会显示 MySQL Server Instance Configuration Wizard未响应 一直卡死 解决办法 Win7系统中 以管理员的权限登录系统 将C盘的ProgramData中
  • postman接口测试要点及错误总结

    本文主要针对接口测试工具postman出现的常见错误及解决办法进行了总结 请求分类及具体传参介绍 GET请求 GET请求是最常见的请求类型 最常用于向服务器查询信息 必要时 可以将查询字符串参数追加到URL的末尾 以便将信息发送给服务器 P
  • 机器学习的特征工程

    机器学习的特征工程 一 数据集 Kaggle网址 https www kaggle com datasets UCI数据集网址 http archive ics uci edu ml scikit learn网址 http scikit l
  • 蓝桥杯-基础训练-龟兔赛跑预测

    问题描述 话说这个世界上有各种各样的兔子和乌龟 但是研究发现 所有的兔子和乌龟都有一个共同的特点 喜欢赛跑 于是世界上各个角落都不断在发生着乌龟和兔子的比赛 小华对此很感兴趣 于是决定研究不同兔子和乌龟的赛跑 他发现 兔子虽然跑比乌龟快 但
  • Bert的MLM任务loss原理

    bert预训练有MLM和NSP两个任务 其中MLM是类似于 完形填空 的方式 对一个句子里的15 的词进行mask 通过双向transformer feedforward rediual add layer norm完成对每个词的embed
  • CMake支持C++11、14、17

    有个需求是使用C 14会没有C 17支持的std filesystem 使用C 17会有砍掉的std random shuffles的报错 这是因为我在cmake指定C 版本 set CMAKE CXX STANDARD 17 强制使用17
  • 用 Go 语言与 EOS.IO 交互的 API 库

    用 Go 语言与 EOS IO 交互的 API 库 该库提供对数据架构 二进制打包和JSON接口 的简单访问 以及对远程或本地运行的EOS IO RPC服务器的API调用 它提供钱包功能 KeyBag 或者可以通过 keosd 钱包签署交易
  • EasyExcel填充数据EasyExcel填充数据流下载 easyexcel填充excel下载 easyexcel填充

    EasyExcel填充数据EasyExcel填充数据流下载 easyexcel填充excel下载 easyexcel填充 1 填充数据然后将文件输出给浏览器 1 填充数据然后将文件输出给浏览器 官网地址 官网的demo填充生成的是file文