首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

使用POI打开Excel文件遇到out of memory该如何处理?

当我们开发处理Excel文件,Apache POI 是许多人首选的工具。但是,随着需求的增加、工程复杂,在打开复杂的Excel文件的时候可能会出现一些异常情况。...在网上查了一下,有两个方法: 可以把文件转化为CSV然后导入。 把Excel文件风格为小的Excel文件,分别构建workbook,然后进行处理。 第一个办法,对于仅导入数据很有效。...但Excel是有样式的情况,把Excel转成CSV就会导致样式丢失,所以pass了这个方法。 似乎可以考虑一下第二个办法,把文件分割成多个小文件,分别构建workbook,然后去处理。...经过一些尝试,发现是同一间构建的workbook太多了,减少到4个,单元测试就可以正常跑完。 这样来看,POI的问题还真是让人挺头疼。...测试的时候,文件是可以知道被分为几个的,但是实际应用时,就没法预测文件的数量。此外根据测试来看,workbook的数量,可能是跟Excel文件的大小相关,这会导致后续开发可能会遇到更多的问题。

27210

WPF 通过 dotnet core 发布文件 log4net 无法使用

使用 dotnet core 版本的 WPF 可以将发布文件打包为一个exe文件,但是此时小伙伴发现 log4net 无法运行,因为 log4net 说找不到配置文件 这是 子铭 小伙伴问我的问题,我尝试创建一个...我发现了一个细节,在运行 log4net 默认会读取 Log.config 配置文件,而读取的文件夹是应用程序所在的文件夹,如果通过下面代码将软件发布文件,那么因为 log4net 需要读取而配置文件找不到而不能使用...dotnet publish -r win10-x64 /p:PublishSingleFile=true 解决方法是 启动写入配置文件 重定向配置文件 通过代码配置 不用log4net都成 --...-- 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。...欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布

2.1K20

mybatis文件映射之输入的参数不只一个

public void getEmpByNameAndId(Integer id,String name); 此时在mapper.xml文件中可以这么获取参数的值: <select id="getEmpByNameAndId...: public Employee getEmpByNameAndId(@Param("id") Integer id,@Param("lastName") String name); 此时就可以这么使用...last_name lastName,email,gender from tbl_employee where id = #{id} and last_name=#{lastName} 3、输入的参数正好是业务逻辑的数据模型...如果多个参数不是业务逻辑的数据,如果没有对应的pojo,为了方便,我们可以传入map: public void getEmpByMap(Map map); 在mapper.xml文件中...,那么可以自定义TO(Transfer Object)数据传输对象,比如在分页一般会有: Page{ int index; int size; } 6、如果是Collection(List

44820

Git提交使用.gitignore文件忽略特殊文件

在工作中或者日常开发中,我们使用 Git 进行开发上传至 Github 等托管平台,有些时候,我们必须把某些文件放到 Git 的工作目录中,但是又不能提交它们,比如保存了数据库密码的配置文件、ide 的配置文件等等...,Git 就会自动忽略这些文件 忽略文件的原则是: 忽略操作系统自动生成的文件,比如缩略图等 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库...,比如ThinkPHP5框架产生的runtime文件 忽略你自己的带有敏感信息的配置文件,比如ThinkPHP5框架根目录下的.env配置数据库文件 举个栗子 使用 ThinkPHP5 框架进行开发,使用...如果你确实想添加该文件,可以用-f强制添加到 Git $ git add -f .idea 所以在使用 Git 的时候想要忽略某些文件,需要编写.gitignore 沈唁志|一个PHPer的成长之路...原创文章采用CC BY-NC-SA 4.0协议进行许可,转载请注明:转载自:Git提交使用.gitignore文件忽略特殊文件

2.6K30

使用Nginx配置文件屏蔽指定请求

屏蔽请求方式,仅允许POST、GET等 有非我们允许的请求方式访问站点,定义返回403状态码,示例配置如下: if ($request_method !...屏蔽指定url 比如一台nginx提供的多个server_name共用静态资源,但又有资源仅仅想让某个server_name访问到;又比如程序写的不够合理,生产环境跑起来时发现有些地址不应该提供到互联网访问...;再或者我们想通过nginx屏蔽掉一些恶意的访问如特殊字符,都可以使用下面示例配置进行指定url的屏蔽跳转到错误页: if ( $request_uri ~* "\.\....上面写法使用正则匹配包含以上字符串的url,根据使用场景调整,转义使用\,多个字符串之间用|分隔。 4....屏蔽指定IP地址 比如我们的服务部署后只想指定IP地址可以访问或指定的IP不可访问,可以使用下面示例配置强制跳转到错误页面。 if ($http_x_forwarded_for !

1.6K40
领券