我有一個簡單的彈簧批處理程序,它從INPUT文件中讀取數據並寫入OUTPUT文件。Spring批處理 - 如何生成一個批處理作業的輸出文件作爲excel表
輸入文件有50000條記錄,我的塊大小爲1000
有輸入文件即五列。一,二,三,四,五
我的要求是創建一個excel文件(.xls文件)作爲輸出。
我有一個簡單的彈簧批處理程序,它從INPUT文件中讀取數據並寫入OUTPUT文件。Spring批處理 - 如何生成一個批處理作業的輸出文件作爲excel表
輸入文件有50000條記錄,我的塊大小爲1000
有輸入文件即五列。一,二,三,四,五
我的要求是創建一個excel文件(.xls文件)作爲輸出。
創建excel文件(.xls)沒有開箱即用的支持。有兩種選擇。
一些庫中的Excel文件的自定義FileItemWriter如果CSV文件是不夠的,你需要實現自己的ItemWriter,可以使用一個的可用Excel庫(例如JExcelApi或Apache POI)將「項目」寫入Excel文件。
我會從擴展ItemWriter開始。確保你最後關閉了XLS文件。
有關創建新XLS文檔的示例,請參閱POI quick guide。
使用這些庫的問題是,它們一次處理一行數據(我認爲是這樣!!)..它會不會是一個很大的性能打擊? – Nik
有彈簧一批擴建工程,提供和Excel Reader和Writer開箱 - https://github.com/mdeinum/spring-batch-extensions/tree/master/spring-batch-excel
底層IT支持POI和JExcel - 儘管Excel中的較新版本的POI工作
此Spring批處理擴展僅包含Excel的ItemReader實現。 OP的要求是創建文件 –
對,我的不好。該項目不包含項目編寫器擴展。 –
我也將CSV視爲一種選擇。但是,如果列數據本身具有「逗號」,那該怎麼辦?如何解決這個情況? – Nik
它需要被包含在雙重qoutes - 你不必這樣做,春天的批量內置支持生成CSV - 它處理所有這些情況。 – gkamal
感謝您的建議。你能詳細解釋一下嗎?我們應該在哪裏放雙引號? – Nik