Spread表格元件For JAVA功能介紹—表格相關操作

77rou發表於2018-09-14

之前有篇文章我們說到  Spread 表格元件 的 Java CTP 版本已經發布: 《表格元件JAVACTP版本搶先預覽》

本篇我們來看一下他的主要功能,例如下圖所示的Excel我們應當如何實現:

1.初始化workbook

(初始化workbook會預設初始化一個worksheet),獲取worksheet物件,之後更改sheet標籤名稱為Tables

2. 插入資料:

Spread Service中支援插入二位陣列形式的插入方式,例如下面所示:

Object[][] sourceData =  new  Object[][]{

{"ITEM", "AMOUNT"},

{"Income 1", 2500},

{"Income 2", 1000},

{"Income 3", 250},

{"Other", 250},

};

Object[][] sourceData1 =  new  Object[][]{

{"ITEM", "AMOUNT"},

{"Rent/mortgage", 800},

{"Electricity", 120},

{"Gas", 50},

{"Cell phone", 45},

{"Groceries", 500},

{"Car payment", 273},

{"Auto expenses", 120},

{"Student loans", 50},

{"Credit cards", 100},

{"Auto Insurance", 78},

{"Personal care", 50},

{"Entertainment", 100},

{"Miscellaneous", 50},

};

worksheet.getRange("B3:C7").setValue(sourceData);

worksheet.getRange("B10:C23").setValue(sourceData1);

3. 設定單元格合併:

worksheet.getRange("B3:C7").setValue(sourceData);

worksheet.getRange("B10:C23").setValue(sourceData1);

worksheet.getRange("B2:C2").merge();

worksheet.getRange("B2").setValue("MONTHLY INCOME");

worksheet.getRange("B9:C9").merge();

worksheet.getRange("B9").setValue("MONTHLY EXPENSES");

worksheet.getRange("E2:G2").merge();

worksheet.getRange("E2").setValue("PERCENTAGE OF INCOME SPENT");

worksheet.getRange("E5:G5").merge();

worksheet.getRange("E5").setValue("SUMMARY");

worksheet.getRange("E3:F3").merge();

worksheet.getRange("E9").setValue("BALANCE");

worksheet.getRange("E6").setValue("Total Monthly Income");

worksheet.getRange("E7").setValue("Total Monthly Expenses");

4. 建立表格,設定表名,設定表樣式

//Create the first table to show Income.

ITable incomeTable = worksheet.getTables().add(worksheet.getRange("B3:C7"),  true );

incomeTable.setName("tblIncome");

incomeTable.setTableStyle(workbook.getTableStyles().get("TableStyleMedium4"));

//Create the second table to show Expenses.

ITable expensesTable = worksheet.getTables().add(worksheet.getRange("B10:C23"),  true );

expensesTable.setName("tblExpenses");

expensesTable.setTableStyle(workbook.getTableStyles().get("TableStyleMedium4"));incomeTable.setTableStyle(workbook.getTableStyles().get("TableStyleMedium4"));

5. 設定表格公式

因為合計公式需要重複使用,可以定義名稱將其以別名命名

worksheet.getNames().add("TotalMonthlyIncome", "=SUM(tblIncome[AMOUNT])");

worksheet.getNames().add("TotalMonthlyExpenses", "=SUM(tblExpenses[AMOUNT])");

之後我們就可以通過別名來快捷呼叫這些公式了

worksheet.getRange("E3").setFormula("=TotalMonthlyExpenses");

worksheet.getRange("G3").setFormula("=TotalMonthlyExpenses/TotalMonthlyIncome");

worksheet.getRange("G6").setFormula("=TotalMonthlyIncome");

worksheet.getRange("G7").setFormula("=TotalMonthlyExpenses");

worksheet.getRange("G9").setFormula("=TotalMonthlyIncome-TotalMonthlyExpenses");

6. 最後以檔案流形式匯出生成Excel檔案

File f=  new  File("d:" + File. separator  + "outputExcel.xlsx");

OutputStream out =  null ;

out =  new  FileOutputStream(f);

workbook.save(out);

out.close();

大功告成,讓我們開啟匯出的Excel看一下效果:

以上就是 Spread Service 在java平臺表格相關的功能示例,相信看了之後大家對  Spread Service  的表格應用會有一些收穫,除此之外, Spread表格元件 還有許多強大的功能,有興趣的朋友可以免費試用本產品。

關於 葡萄城

賦能開發者!葡萄城公司成立於 1980 年,是全球領先的集開發工具、商業智慧解決方案、管理系統設計工具於一身的軟體和服務提供商。西安葡萄城是其在中國的分支機構,面向全球市場提供軟體研發服務,併為中國企業的資訊化提供國際先進的開發工具、軟體和研發諮詢服務。葡萄城的控制元件和軟體產品在國內外屢獲殊榮,在全球被數十萬家企業、學校和政府機構廣泛應用。


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

相關文章