翻譯|行業資訊|編輯:李顯亮|2019-12-18 13:34:39.433|閱讀 411 次
概述:在最新發布的v19.11中,新增了許多非常有趣且實用的新功能,例如提供基于某些條件的排序和隱藏數據來獲取報表和演示的緊湊信息,可以增強數據透視表的處理;使用QueryTable作為數據源讀寫表;檢索OData連接信息等等。接下來我們用示例來演示如何實現這些新功能。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Aspose.Cells for Java是Excel電子表格處理API,開發人員可以在其自己的應用程序中嵌入讀取,編寫,操作,轉換和打印電子表格的功能,而無需Microsoft Excel應用程序。
在最新發布的v19.11中,新增了許多非常有趣且實用的新功能,例如提供基于某些條件的排序和隱藏數據來獲取報表和演示的緊湊信息,可以增強數據透視表的處理;使用QueryTable作為數據源讀寫表;檢索OData連接信息等等。接下來我們用示例來演示如何實現這些新功能。
慧都網是正版Aspose大陸地區正式授權經銷商,擁有負責正版Aspose免費試用,咨詢,銷售等服務,雙旦狂歡,Aspose.Total直降10000元,更有iPhone 11/小米音響好禮相贈,。
在某些情況下,數據透視表中需要清晰的信息。我們可能需要某些功能來對數據透視表中的數據進行排序,然后根據某些條件隱藏行。以下示例代碼演示了此功能:
// 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");下圖顯示了對示例數據運行此代碼之前和之后的數據透視表。

查看上述代碼片段中使用的源和輸出excel文件,請點擊這里下載。
具有查詢表作為數據源的表非常常見。我們可能需要閱讀這些表并進行修改,例如顯示總數等。此功能較早可用,但是提供了對XLS文件的支持。以下示例代碼讀取一個表,然后對其進行更改以在末尾顯示總數。
// 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()函數的工作方式:

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連接信息。

這是使用示例文件的程序輸出:

還想要更多嗎?您可以點擊閱讀【2019 · Aspose最新資源整合】,查找需要的教程資源。如果您有任何疑問或需求,請隨時加入Aspose技術交流群(642018183),我們很高興為您提供查詢和咨詢。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@ke049m.cn