關鍵詞導讀:導出Excel Java導出Excel Java導出有格式Excel
Java有什麼方便的類庫導出帶格式的Excel嗎?部分數據如下:
ORDERID CUSTOM ORDERDATE FREIGHT 10262 Learnthe kernel trade 1996-07-22 48.29 10263 Resources are people 1996-07-23 146.06 10264 Wuzhou trust 2007-12-18 3.67 10265 The hao 1996-07-25 55.28 10266 Upgrade the enterprise 1996-07-26 25.73 ... |
導出Excel樣式如下:
Java一般利用Jakarta POI HSSF API組件(用於操作Excel的組件),主要部分包括Excel對象,樣式和格式,還有輔助操作。但寫起來太長了,代碼大概要這樣:
... HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = workbook.createSheet(title); HSSFRow rowm = sheet.createRow(0); HSSFCellStyle columnTopStyle=this.getColumnTopStyle(workbook); HSSFCellStyle style=this.getStyle(workbook); sheet.addMergedRegion(new CellRangeAddress(0, 1, 0, (rowName.length - 1))); cellTitle.setCellStyle(columnTopStyle); cellTitle.setCellValue(title); for (int n = 0; n < columnNum; n++) { HSSFCell cellRowName = rowRowName.createCell(n); cellRowName.setCellType(HSSFCell.CELL_TYPE_STRING); ... } ... |
Excel導出,用集算器結合潤乾報表會簡單很多,首先,報表工具設計一張模板,它底層把 POI做了完整封裝,可以保持Excel格式不變。
然後,在集算器中執行報表的函數,它把報表運算過程做了封裝,這樣就可以自動導出各類風格、無失真的Excel。比如上面問題僅需5行:
|
A |
1 |
=file("orders.txt":"UTF-8").import@t() |
2 |
>report_config("/raqsoftConfig.xml") |
3 |
=report_open("ORDER.rpx") |
4 |
=report_run(A3;A1:"ds1") |
5 |
=report_exportXls@x(A3,"ORDER.xlsx") |
其實還有很多情況用Java導出Excel不太方便,比如:分組、交叉、中國式複雜格式報表等需求,但用集算器SPL卻很簡單,感興趣可以參考:自動導出Excel的利器
集算器還很容易嵌入到Java應用程序中,Java如何調用SPL腳本有使用和獲得它的方法。
關於集算器安裝使用、獲得免費授權和相關技術資料,可以參見如何使用集算器。