java kettle 停止trans_记一次kettle报错之 maximum number of rows exceeded解决方法
概述最近有个excel表用kettle做了行列转换,发现数据量过大超过excel表限制,下面记录下解决方法。问题在用kettle转换输出excel表时报错Excel输出 4.0 - ERROR (version 8.1.0.0-SNAPSHOT, build 8.1.0.0-SNAPSHOT from 2018-04-10 06.42.03 by WangYucai) : Error writin
·
概述
最近有个excel表用kettle做了行列转换,发现数据量过大超过excel表限制,下面记录下解决方法。
问题
在用kettle转换输出excel表时报错
Excel输出 4.0 - ERROR (version 8.1.0.0-SNAPSHOT, build 8.1.0.0-SNAPSHOT from 2018-04-10 06.42.03 by WangYucai) : Error writing field (0,65536) : jxl.write.biff.RowsExceededException: The maximum number of rows permitted on a worksheet been exceededExcel输出 4.0 - ERROR (version 8.1.0.0-SNAPSHOT, build 8.1.0.0-SNAPSHOT from 2018-04-10 06.42.03 by WangYucai) : jxl.write.biff.RowsExceededException: The maximum number of rows permitted on a worksheet been exceededExcel输出 4.0 - at jxl.write.biff.WritableSheetImpl.getRowRecord(WritableSheetImpl.java:1214)Excel输出 4.0 - at jxl.write.biff.WritableSheetImpl.addCell(WritableSheetImpl.java:1151)Excel输出 4.0 - at org.pentaho.di.trans.steps.exceloutput.ExcelOutput.writeField(ExcelOutput.java:398)Excel输出 4.0 - at org.pentaho.di.trans.steps.exceloutput.ExcelOutput.writeField(ExcelOutput.java:284)Excel输出 4.0 - at org.pentaho.di.trans.steps.exceloutput.ExcelOutput.writeRowToFile(ExcelOutput.java:190)Excel输出 4.0 - at org.pentaho.di.trans.steps.exceloutput.ExcelOutput.processRow(ExcelOutput.java:147)Excel输出 4.0 - at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)Excel输出 4.0 - at java.lang.Thread.run(Thread.java:748)
解决方法
kettle工具的2003excel版本每个sheet只能支持65536行,只需要在kettle输出控件选为microsoft excel。
扩展名选为2007版本的;并且勾上Stream XSLX DATA 选项,支持流的形式写文件,不然大数量的时候写入不了excel,报内存溢出。
测试
重新选择输出后可以正常输出结果。
觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)