一、业务背景
这是之前的一个case,需求是这样的:在excel导出的时候,实现列的自适应宽度。(使用的excel处理包是poi-3.9.jar)
二、实现版本一(有young gc 问题)
通过List往sheet里面设置值的时候,每设置一个单元格的值就设置一下自适应宽度,代码如下:
这样实现,已经满足了需求。但是我习惯在IDE里面打印gc信息,当我run起来之后,young gc一直在刷屏。就增加了90行一行代码,结果导出时间从0.5s 到 200 s,响应时间超慢,发现gc log中eden 区回收特别频繁
同时,看了眼线程状态,当时线程一直处于运行状态,然后dump线程找到该线程对应的堆栈,找到出问题的代码,结果就是因为新加的一行。怀疑产生了大对象,但是当时以为是sheet对象,结果跟进去后发现
产生了数组对象,然后使用profier查看内存,结果是int[] 140m的实例,正常情况只有几百int[],所以修改了代码
三、实现版本二
首先去掉90行的代码,接着,填充完数据后,取表头第一行,然后给第一行设置自适应宽度就ok了
fillExcelContent(sheet, lt, startNum); //设置自适应宽度 Row r = sheet.getRow(0); for (int i = 0; i < r.getPhysicalNumberOfCells(); i++) { sheet.autoSizeColumn(i); }
总结:这个case是之前很早发生的,在里面主要记录一下这个处理过程
相关推荐
在IT行业中,Excel导出是一项常见的功能,尤其在企业级应用中,用于数据报表的生成与分享。"Excel导出支持前台和后台导出"这一技术主题涉及到如何在Web应用程序中实现用户请求的数据导出到Excel文件,既可以选择在...
java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入
"Excel导出数据(根据Excel模板定义)"这个主题涉及到的核心技术是如何根据预设的Excel模板生成和导出数据,通常用于批量生成报表或者进行复杂的数据呈现。下面将详细解释这一过程及其相关知识点。 1. **Excel模板...
在这个场景中,"新版excel导出控件.rar_donec1p_pb_pb excel_pb 导出_pb导出excel" 的标题和描述提到了一个关键的开发需求:在PB应用中导出数据到Excel文件。 传统的PowerBuilder(PB)自身虽然提供了数据窗口...
本主题聚焦于如何利用C#实现数据的导出功能,包括将查询结果或表格信息导出为Excel文件和PDF文档。这两种格式在数据共享、报告生成和打印等方面非常常见。 首先,我们来看C#导出Excel的实现。Excel文件通常以`.xlsx...
标题说的很清楚,利用asm-3.1.jar,cglib-2.2.jar,commons-io-1.3.2.jar,poi-3.9-20121203.jar 开发的一个工具包。 其中用到字节码编码,反射,excel操作。...主要功能1、自定义列导出excel Main()类为测试用例
在Java世界里,它也被广泛用于生成静态文档或处理数据导出任务,比如Excel文件的生成。本篇文章将详细探讨如何使用Freemarker来实现Excel导出功能,并通过实际例子加深理解。 一、Freemarker基础 1. 模板语言:...
在IT领域,导出Excel功能是一项非常常见的需求,特别是在数据分析、报表生成以及数据共享等场景中。Excel作为一款强大的电子表格软件,因其易用性、灵活性和强大的计算能力,成为了企业和个人处理数据的首选工具。...
7. **流式处理和内存管理**:如果导出的Excel文件很大,一次性加载所有数据可能导致内存问题。使用POI的SXSSF(Streaming Usermodel API)可以解决这个问题,它将数据写入磁盘,而不是全部保留在内存中。 8. **文件...
excel导出 脚本处理excel导出 脚本处理excel导出 脚本处理
excel导出类,可以直接使用类来实现excel导出,不回出现excel扩展格式错误问题!
用于考核的系统,导出EXCEL导出EXCEL
此外,Excel文件的大小也有上限,可能导致导出失败或者运行缓慢。 为了解决这个问题,此源码采用了XML格式来拼装Excel文件。XML (Extensible Markup Language) 是一种结构化数据存储格式,可以用来表示复杂的数据...
《纯前端实现:Luckysheet在线编辑Excel及文件导入导出详解》 在现代Web应用中,处理Excel数据已经成为一种常见的需求,特别是在数据分析、报表制作等领域。本文将深入探讨一个纯前端解决方案——Luckysheet,它...
本文将深入探讨“Excel导出数据到数据库”这一主题,讲解如何高效地将Excel中的数据导入到数据库系统,以实现数据的统一管理和分析。 一、Excel的数据整理与预处理 在导出数据之前,首先需要对Excel中的数据进行...
在IT行业中,数据的展示和分析常常离不开Excel报表的运用,尤其在企业级应用中,高效、灵活的数据导出功能显得尤为重要。本项目专注于解决这一问题,通过使用`jxls2`库,能够实现复杂Excel模板的导出,包括单元格的...
nio的excel导出
Easy POI允许开发者使用预定义的Excel模板来导出数据。在模板中,你可以设定好单元格的格式、样式和公式,然后用Easy POI将动态数据填入模板。通过`WorkbookFactory.create()`创建一个工作簿对象,接着使用`...
在前端开发中,有时我们需要提供一个功能,让用户能够将网页上的表格数据导出为Excel文件。"前端导出Excel table2excel"就是这样一个解决方案,它实现了在浏览器端将HTML表格直接转换为Excel文件,实现了“所见即...
本教程将详细介绍如何使用JAVA POI库来创建一个包含图片的完整Excel导出功能。 首先,你需要在项目中引入Apache POI依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.apache....