总结: 测试数据8万多条,响应时间3分多钟。
</bean> 负责读取数据 ,在程序执行时一次性抓取全部数据后在批量的交给LedgerWriter进行写操作。当然也可以使用分页读取JdbcPagingItemReader,但要分页数量与写入数量要大写相同,还可以对分页出来的数据进行添加悲观锁
如果遇上生车xml用excel打不开报错提示
XML 语法分析错误: 缺少结尾标签
如果遇上生车xml用excel打不开报错提示 XML 语法分析错误: 缺少结尾标签 此元素堆栈或此元素下面的堆栈发生错误: 这样的错误 基本上就是文件的格式错误导致的看下格式是不是ansi如果是 改成其他编码 UTF-8 还有就是 出现某行 错误比如 这种就是里面的特殊字符没有被转换掉 !
开源中国-程序员在线工具:
使用POI能够导出大数据保证内存不溢出的一个重要原因是SXSSFWorkbook生成的EXCEL为2007版本,修改EXCEL2007文件后缀为ZIP打开可以看到,每一个Sheet都是一个xml文件,单元格格式和单元格坐标均用标签表示。直接使用SXSSFWorkbook来到导出EXCEL本身就是POI为了大数据量导出而量身定制的,所以导出可以直接使用SXSSFWorkbook方式。
为了保险起见可以采用多Sheet的方式保证内存不溢出。需要注意的是Sheet名称不能重复;下载的时候需要定义好返回头。
导出EXCEL较为简单,创建Workbook对象和Sheet对象往里塞值就行了。但是导入读取EXCEL的时候SXSSFWorkbook没有读取文件流的方法,只能使用XSSFWorkbook来读取,几千条数据可能就内存溢出了。
POI给出的API表示使用OPCPackage不需要将文件完全读取到内存中。