Aspose.Cells for Java(點擊下載)是Excel電子表格處理API,開發人員能夠在其本身的應用程序中嵌入讀取,編寫,操做,轉換和打印電子表格的功能,而無需Microsoft Excel應用程序。less
在最新發布的v19.11中,新增了許多很是有趣且實用的新功能,例如提供基於某些條件的排序和隱藏數據來獲取報表和演示的緊湊信息,能夠加強數據透視表的處理;使用QueryTable做爲數據源讀寫表;檢索OData鏈接信息等等。接下來咱們用示例來演示如何實現這些新功能。ide
在某些狀況下,數據透視表中須要清晰的信息。咱們可能須要某些功能來對數據透視表中的數據進行排序,而後根據某些條件隱藏行。如下示例代碼演示了此功能:函數
// The path to the output directory. String sourceDir = Utils.Get_SourceDirectory(); String outputDir = Utils.Get_OutputDirectory(); Workbook workbook = new Workbook(sourceDir + "PivotTableHideAndSortSample.xlsx"); Worksheet worksheet = workbook.getWorksheets().get(0); PivotTable pivotTable = worksheet.getPivotTables().get(0); CellArea dataBodyRange = pivotTable.getDataBodyRange(); int currentRow = 3; int rowsUsed = dataBodyRange.EndRow; // Sorting score in descending PivotField field = pivotTable.getRowFields().get(0); field.setAutoSort(true); field.setAscendSort(false); field.setAutoSortField(0); pivotTable.refreshData(); pivotTable.calculateData(); // Hiding rows with score less than 60 while (currentRow < rowsUsed) { Cell cell = worksheet.getCells().get(currentRow, 1); double score = (double) cell.getValue(); if (score < 60) { worksheet.getCells().hideRow(currentRow); } currentRow++; } pivotTable.refreshData(); pivotTable.calculateData(); // Saving the Excel file workbook.save(outputDir + "PivotTableHideAndSort_out.xlsx");
下圖顯示了對示例數據運行此代碼以前和以後的數據透視表。spa
查看上述代碼片斷中使用的源和輸出excel文件,請點擊這裏下載。excel
具備查詢表做爲數據源的表很是常見。咱們可能須要閱讀這些表並進行修改,例如顯示總數等。此功能較早可用,可是提供了對XLS文件的支持。如下示例代碼讀取一個表,而後對其進行更改以在末尾顯示總數。orm
// The path to the output directory. String sourceDir = Utils.Get_SourceDirectory(); String outputDir = Utils.Get_OutputDirectory(); // Load workbook object Workbook workbook = new Workbook(sourceDir + "SampleTableWithQueryTable.xls"); Worksheet worksheet = workbook.getWorksheets().get(0); ListObject table = worksheet.getListObjects().get(0); // Check the data source type if it is query table if (table.getDataSourceType() == TableDataSourceType.QUERY_TABLE) { table.setShowTotals(true); } // Save the file workbook.save(outputDir + "SampleTableWithQueryTable_out.xls");
下圖顯示了setShowTotals()函數的工做方式:blog
OData可用於從RESTful API獲取提要或數據,也可在Excel文件中使用。可使用Apose.Cells API和Workbook的DataMashup類從Excel文件中檢索此信息。從具備PowerQueryFormula和PowerQueryFormulaItem的PowerQueryFormulas屬性中獲取所需的信息。排序
// The path to the directories. String sourceDir = Utils.Get_SourceDirectory(); Workbook workbook = new Workbook(sourceDir + "ODataSample.xlsx"); PowerQueryFormulaCollction PQFcoll = workbook.getDataMashup().getPowerQueryFormulas(); for (Object obj : PQFcoll) { PowerQueryFormula PQF = (PowerQueryFormula)obj; System.out.println("Connection Name: " + PQF.getName()); PowerQueryFormulaItemCollection PQFIcoll = PQF.getPowerQueryFormulaItems(); for (Object obj2 : PQFIcoll) { PowerQueryFormulaItem PQFI = (PowerQueryFormulaItem)obj2; System.out.println("Name: " + PQFI.getName()); System.out.println("Value: " + PQFI.getValue()); } }
下圖顯示了一個示例文件,該文件在上面的代碼示例中用於獲取OData鏈接信息。開發
這是使用示例文件的程序輸出:文檔
還想要更多嗎?若是您有下載或購買需求,請隨時加入Aspose技術交流羣(642018183),咱們很高興爲您提供查詢和諮詢。