关于poi 读excel 速度的问题 我在读一个2.3M左右的2007版 excel文件时 往数据库里插数据每次都用上10多分钟可是我把这个文件中的东西原样复制到新建的2007版的excel中却几乎是几秒钟的事有高手来指点一下怎么回事吗 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我的问题是手动复制到新建excel中 还是用poi读 速度前后不一样 问题是复制到新的excel还是用poi读的 速度怎么就差了那么多 我以前的工作就有一项是利用poi生成excel报表,我们是电商,所以报表也都是很大的。首先个人感觉excel有上限,大约是10M左右,超过这个大小基本上就跑不动了另外excel分xls和xlsx两种后缀格式的,xlsx的要更精简,同样大小xlsx存储的信息为xls的2倍多,但是xlsx的不支持poi写入。楼主说的10分钟是不可能的,真那样的话那不是跑10分钟,而且引起高负载导致虚拟机停滞了。读excel很快,但是楼主那10多分钟会不会往数据库存的时候浪费太多时间?我以前测试过,2G内存,2.4主频单核,xls格式的读30列,9000行的数据,大约是6秒左右。写入大约是4秒左右 这是写数据库的图片 我没有批量导入 是一条一条写的原文件读的慢 数据移到新建的xlsx文件读的就瞬间的是想不明白哪里出的问题 这是写数据库的图片 我没有批量导入 是一条一条写的原文件读的慢 数据移到新建的xlsx文件读的就瞬间的是想不明白哪里出的问题顺便说下 移到的新xlsx文件大小和原文件一样的 可是速度却差了那么多如果只是批量导入的问题 速度怎么会相差那么多 自己新建的xlsx,将数据复制过来,读取很快,说明代码没啥问题啊...原始的excel文件有鬼 做下测试,看看是读的慢还是插数据库慢.把ncpd.insertByInstance这条语句注掉,看看执行时间是多少 至于读取慢可能是你sheet中用了筛选功能或其他,如果是简单纯文本的读入不会很慢 试了下发现,我目前的情况是读取速度慢但是不知道什么情况会影响poi读 excel的速度 读取EXCEL最慢的就是对EXCEL进行解析,你确认下是否后台对EXCEL进行了多次解析,最好是1次解析完将数据都放到内存中,然后再进行后续处理。 我测试了下 主要时间还是浪费在了new XSSFWorkbook(in)上不知道什么原因 我测试了发现读的慢的是xssf流读的快的 我只是改了扩展名 文档还是用的hssf流只是不知道为什么 2007版的excel比2003版的慢了这么多 补充下:我的电脑没有安装excel 用的是wps 不知道是不是2007版的xssf转换跟环境有关 我测试了下 主要时间还是浪费在了new XSSFWorkbook(in)上不知道什么原因恩,如果瓶颈在这的话,那就是poi在解析EXCEL时非常的耗时,但是不应该这么长时间啊。 我测试了下 主要时间还是浪费在了new XSSFWorkbook(in)上不知道什么原因恩,如果瓶颈在这的话,那就是poi在解析EXCEL时非常的耗时,但是不应该这么长时间啊。哦,对了 你看看 你EXCEL中 没有多余的空行什么的吧。 我测试了下 主要时间还是浪费在了new XSSFWorkbook(in)上不知道什么原因恩,如果瓶颈在这的话,那就是poi在解析EXCEL时非常的耗时,但是不应该这么长时间啊。哦,对了 你看看 你EXCEL中 没有多余的空行什么的吧。现在的情况是poi一次性把excel读入内存 从50000kb一直读到170000kb 最多到300000kb 然后才会往数据库插数据 我测试了下 主要时间还是浪费在了new XSSFWorkbook(in)上不知道什么原因恩,如果瓶颈在这的话,那就是poi在解析EXCEL时非常的耗时,但是不应该这么长时间啊。哦,对了 你看看 你EXCEL中 没有多余的空行什么的吧。现在的情况是poi一次性把excel读入内存 从50000kb一直读到170000kb 最多到300000kb 然后才会往数据库插数据这样朋友,先排查下是否是excel数据量导致慢,还是程序处理慢Excel中录入1条记录,导入记录时间。如果1条数据导入很快,那就是你的数据量太大 导致导入时过慢。你先试试。 我测试了下 主要时间还是浪费在了new XSSFWorkbook(in)上不知道什么原因恩,如果瓶颈在这的话,那就是poi在解析EXCEL时非常的耗时,但是不应该这么长时间啊。哦,对了 你看看 你EXCEL中 没有多余的空行什么的吧。现在的情况是poi一次性把excel读入内存 从50000kb一直读到170000kb 最多到300000kb 然后才会往数据库插数据这样朋友,先排查下是否是excel数据量导致慢,还是程序处理慢Excel中录入1条记录,导入记录时间。如果1条数据导入很快,那就是你的数据量太大 导致导入时过慢。你先试试。好像是原文件格式或是开了什么功能的原因;我把原文件删的只有几十条数据 还是那么慢;后来又新建了一个xssf格式的也是秒读的;现在不确定的是原文件到底是什么样的原因 我测试了下 主要时间还是浪费在了new XSSFWorkbook(in)上不知道什么原因恩,如果瓶颈在这的话,那就是poi在解析EXCEL时非常的耗时,但是不应该这么长时间啊。哦,对了 你看看 你EXCEL中 没有多余的空行什么的吧。现在的情况是poi一次性把excel读入内存 从50000kb一直读到170000kb 最多到300000kb 然后才会往数据库插数据这样朋友,先排查下是否是excel数据量导致慢,还是程序处理慢Excel中录入1条记录,导入记录时间。如果1条数据导入很快,那就是你的数据量太大 导致导入时过慢。你先试试。好像是原文件格式或是开了什么功能的原因;我把原文件删的只有几十条数据 还是那么慢;后来又新建了一个xssf格式的也是秒读的;现在不确定的是原文件到底是什么样的原因有兴趣研究的我可以把这个excel传过去 探讨探讨 我测试了下 主要时间还是浪费在了new XSSFWorkbook(in)上不知道什么原因恩,如果瓶颈在这的话,那就是poi在解析EXCEL时非常的耗时,但是不应该这么长时间啊。哦,对了 你看看 你EXCEL中 没有多余的空行什么的吧。现在的情况是poi一次性把excel读入内存 从50000kb一直读到170000kb 最多到300000kb 然后才会往数据库插数据这样朋友,先排查下是否是excel数据量导致慢,还是程序处理慢Excel中录入1条记录,导入记录时间。如果1条数据导入很快,那就是你的数据量太大 导致导入时过慢。你先试试。好像是原文件格式或是开了什么功能的原因;我把原文件删的只有几十条数据 还是那么慢;后来又新建了一个xssf格式的也是秒读的;现在不确定的是原文件到底是什么样的原因有兴趣研究的我可以把这个excel传过去 探讨探讨看看 单元格格式有特殊的吗?这个就不好找了,没遇见过Excel什么设置导致poi解析时的性能问题。你研究出来了 告诉我下哈。 都说Servlet和JSP、SSH过时了,那现在流行什么? 多时区处理方式——高毅 抽奖机的java程序 struts 2.0 文件名过长下载乱码 struts2 参数传递 问题 关于JAVA中自动触发程序,请各位高手提意见,哈,谢了!! 关于STRUTS标签的问题. 请教WEB项目的入手(现有源代码的入手) 高手们:帮我看看这是怎么回事吧。调用EJB。 多线程并行处理集合中的数据 spring框架MethodBeforeAdvice实现类不起作用 一个输出的问题
速度怎么就差了那么多
首先个人感觉excel有上限,大约是10M左右,超过这个大小基本上就跑不动了
另外excel分xls和xlsx两种后缀格式的,
xlsx的要更精简,同样大小xlsx存储的信息为xls的2倍多,但是xlsx的不支持poi写入。
楼主说的10分钟是不可能的,真那样的话那不是跑10分钟,而且引起高负载导致虚拟机停滞了。
读excel很快,但是楼主那10多分钟会不会往数据库存的时候浪费太多时间?
我以前测试过,2G内存,2.4主频单核,xls格式的
读30列,9000行的数据,大约是6秒左右。
写入大约是4秒左右
想不明白哪里出的问题
想不明白哪里出的问题
顺便说下 移到的新xlsx文件大小和原文件一样的
可是速度却差了那么多
如果只是批量导入的问题 速度怎么会相差那么多
但是不知道什么情况会影响poi读 excel的速度
不知道什么原因
我测试了发现读的慢的是xssf流
读的快的 我只是改了扩展名 文档还是用的hssf流
只是不知道为什么 2007版的excel比2003版的慢了这么多
我的电脑没有安装excel 用的是wps
不知道是不是2007版的xssf转换跟环境有关
不知道什么原因
恩,如果瓶颈在这的话,那就是poi在解析EXCEL时非常的耗时,但是不应该这么长时间啊。
不知道什么原因
恩,如果瓶颈在这的话,那就是poi在解析EXCEL时非常的耗时,但是不应该这么长时间啊。
哦,对了 你看看 你EXCEL中 没有多余的空行什么的吧。
不知道什么原因
恩,如果瓶颈在这的话,那就是poi在解析EXCEL时非常的耗时,但是不应该这么长时间啊。
哦,对了 你看看 你EXCEL中 没有多余的空行什么的吧。
现在的情况是poi一次性把excel读入内存 从50000kb一直读到170000kb 最多到300000kb 然后才会往数据库插数据
不知道什么原因
恩,如果瓶颈在这的话,那就是poi在解析EXCEL时非常的耗时,但是不应该这么长时间啊。
哦,对了 你看看 你EXCEL中 没有多余的空行什么的吧。
现在的情况是poi一次性把excel读入内存 从50000kb一直读到170000kb 最多到300000kb 然后才会往数据库插数据
这样朋友,先排查下是否是excel数据量导致慢,还是程序处理慢
Excel中录入1条记录,导入记录时间。如果1条数据导入很快,那就是你的数据量太大 导致导入时过慢。你先试试。
不知道什么原因
恩,如果瓶颈在这的话,那就是poi在解析EXCEL时非常的耗时,但是不应该这么长时间啊。
哦,对了 你看看 你EXCEL中 没有多余的空行什么的吧。
现在的情况是poi一次性把excel读入内存 从50000kb一直读到170000kb 最多到300000kb 然后才会往数据库插数据
这样朋友,先排查下是否是excel数据量导致慢,还是程序处理慢
Excel中录入1条记录,导入记录时间。如果1条数据导入很快,那就是你的数据量太大 导致导入时过慢。你先试
试。
好像是原文件格式或是开了什么功能的原因;
我把原文件删的只有几十条数据 还是那么慢;
后来又新建了一个xssf格式的也是秒读的;
现在不确定的是原文件到底是什么样的原因
不知道什么原因
恩,如果瓶颈在这的话,那就是poi在解析EXCEL时非常的耗时,但是不应该这么长时间啊。
哦,对了 你看看 你EXCEL中 没有多余的空行什么的吧。
现在的情况是poi一次性把excel读入内存 从50000kb一直读到170000kb 最多到300000kb 然后才会往数据库插数据
这样朋友,先排查下是否是excel数据量导致慢,还是程序处理慢
Excel中录入1条记录,导入记录时间。如果1条数据导入很快,那就是你的数据量太大 导致导入时过慢。你先试
试。
好像是原文件格式或是开了什么功能的原因;
我把原文件删的只有几十条数据 还是那么慢;
后来又新建了一个xssf格式的也是秒读的;
现在不确定的是原文件到底是什么样的原因
有兴趣研究的我可以把这个excel传过去 探讨探讨
不知道什么原因
恩,如果瓶颈在这的话,那就是poi在解析EXCEL时非常的耗时,但是不应该这么长时间啊。
哦,对了 你看看 你EXCEL中 没有多余的空行什么的吧。
现在的情况是poi一次性把excel读入内存 从50000kb一直读到170000kb 最多到300000kb 然后才会往数据库插数据
这样朋友,先排查下是否是excel数据量导致慢,还是程序处理慢
Excel中录入1条记录,导入记录时间。如果1条数据导入很快,那就是你的数据量太大 导致导入时过慢。你先试
试。
好像是原文件格式或是开了什么功能的原因;
我把原文件删的只有几十条数据 还是那么慢;
后来又新建了一个xssf格式的也是秒读的;
现在不确定的是原文件到底是什么样的原因
有兴趣研究的我可以把这个excel传过去 探讨探讨
看看 单元格格式有特殊的吗?这个就不好找了,没遇见过Excel什么设置导致poi解析时的性能问题。你研究出来了 告诉我下哈。