-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
关于windows系统下temp目录生成大量eec文件的问题 #296
Comments
如果是读的话可以使用try-with-resource来释放,如果是写的话不需要特殊处理程序会自清理,但是如果中间抛异常的情况除外 |
明白了,第一次知道try-with-resource哈哈哈,新知识get,谢谢 |
放在临时文件的好处是可以被磁盘清理程序清理,linux也会自动清理tmp目录,除非一次将c盘写满否则不用太过在意,如果你是刚接触eec可以先查看一下wiki |
嗯嗯,这两天才开始接触使用,因为easyexcel读大文件内存爆了,在网上找到了eec。 我这边还有个问题,使用sheet的迭代器,发现我有一份文件无法读取,会直接跳过循环,不进入循环体。当我添加代码里注释的那一行,又能进入循环了,其它的excel文件能正常读取 try (ExcelReader excelReader = ExcelReader.read(Paths.get(filePath))) {
// excelReader.sheet(0).dataIterator().hasNext();
for (Iterator<Row> ite = excelReader.sheet(0).dataIterator(); ite.hasNext(); ) {
String oneLine = ite.next().toString();
System.out.println(oneLine);
}
} catch (IOException e) {
e.printStackTrace();
} |
没有遇到过这种情况,使用 |
1.使用 2.使用流读取看下效果 try (ExcelReader excelReader = ExcelReader.read(Paths.get(filePath))) {
excelReader.sheet(0).dataRows().forEach(System.out::println);
} catch (IOException e) {
e.printStackTrace();
}
} 3.添加System.out.println(excelReader.getAppInfo()); 打印一下文件属性我看下是什么工具生成的 新的发现:当我用wps打开这份有问题的数据,重新保存一下(不是另存为,就是随便操作了下,又撤回,然后保存),重新读取就成功了。。。 |
设计时内部是共享的,所以不能直接使用toArray方法收集数据。 使用下面代码打印worksheet头数据发到我邮箱看一下就行,不涉及信息安全(点我头像可以查看邮箱)
|
cb的长度是8192,但是还没到表头的最后一列,表头实在太长了。。。表头包含括号,冒号,百分号等特殊符号
。
|
使用 可以debug下XMLSheet#nextRow方法,看第一行的读取哪里有问题 |
有效范围 A1:A46152,但是excel实际范围应该是A1:EL46152 debug下, |
降到0.5.3版本试一下有没有这个问题,或者04.x也可以试试,不能复现我不太确定问题出在哪里,历史版本可以在 wiki 中查看 |
0.5.3的问题更严重了,getDimension()就是A1,getHeader()表头不完整,从表头的中间某个位置(第106列才开始有内容,其余均为null,共141列)开始才有数据 |
0.5.4修复的header和dimension问题,应该是dimensions解析的时候出的问题,已经缩小范围了
… 在 2022年10月21日,16:09,zhangwx95 ***@***.***> 写道:
降到0.5.3版本试一下有没有这个问题,或者04.x也可以试试,不能复现我不太确定问题出在哪里,历史版本可以在 wiki 中查看
0.5.3的问题更严重了,getDimension()就是A1,getHeader()表头不完整,从表头的中间某个位置(第106列才开始有内容,其余均为null,共141列)开始才有数据
但是呢reader.sheet(0).nextRow()结果正常,表头内容完整
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.
|
我新开了一个issue讨论iterator出现的BUG问题,本issue标记为QA回答tmp目录临时文件 |
#297 分支已修复你反馈的问题,你可以fork本项目切换到 fix#297 分支测试,因为我没有测试文件,所以还请将测试结果反馈到 issue#297 ,多谢。 |
使用最新版本v0.5.5测试是否已修复跳出循环问题 |
发现windows下用户路径,AppData\Local\Temp每跑一次任务,就会生成对应的eec文件和文件夹
该路径可以设置吗?或者每次跑完任务能自动删除eec文件,每次读取几百兆的数据,不要几次就会把c盘撑满了
The text was updated successfully, but these errors were encountered: