如何用 JAVA 生成有格式的 XLS

xiaohuihui發表於2020-06-24

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 生成有格式的 XLS

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格式不變。

如何用 JAVA 生成有格式的 XLS

然後,在集算器中執行報表的函式,它把報表運算過程做了封裝,這樣就可以自動匯出各類風格、無失真的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卻很簡單,感興趣可以參考:

集算器還很容易嵌入到Java應用程式中, 有使用和獲得它的方法。

關於集算器安裝使用、獲得免費授權和相關技術資料,可以參見 。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2700446/,如需轉載,請註明出處,否則將追究法律責任。

相關文章