Microsoft® Excel 檔案圖表轉換與建立 via Java
將 Excel 文件圖表轉換為圖像,並在基於 Java 的應用程式中使用伺服器端 API 建立各種圖表。
透過圖表分析數據可以顯示更大的圖景,並且可以透過更清晰的見解輕鬆做出更明智的決策。 Java Excel 庫 支援繪製列出的不同圖表創建 圖表類型 包括圓餅圖、金字塔圖、折線圖和氣泡圖。此外,它還將圖表轉換為圖像。 API 提供 圖表類 用於表示單一 Excel 圖表。
將 Excel 圖表轉換為影像
將圖表轉換為圖像(包括 JPG、PNG、TIFF、BMP 等)的過程是,使用 練習冊 載入Excel檔案的類,選擇相關 工作區 包含圖表或迭代每個工作表中的每個圖表。定義 影像或列印選項 並使用渲染圖表的輸出影像 圖表轉圖像 .
Java 將Excel圖表轉換為圖像的程式碼
// Load input XLSX file | |
Workbook wkb = new Workbook(dataDir + "SampleExcel.xlsx"); | |
for (int sht = 0 ; sht < wkb.getWorksheets().getCount() ; sht++) | |
{ | |
// Access required worksheet | |
Worksheet wks = wkb.getWorksheets().get(sht); | |
for (int i =0 ; i< wks.getCharts().getCount() ; i++) | |
{ | |
// Access specific chart | |
com.aspose.cells.Chart chart = wks.getCharts().get(i); | |
// Create an instance of ImageOrPrintOptions and set a few properties | |
ImageOrPrintOptions options = new ImageOrPrintOptions(); | |
options.setVerticalResolution(300); | |
options.setHorizontalResolution(300); | |
options.setQuality(100); | |
// Set image type for output format | |
options.setImageType(com.aspose.cells.ImageType.PNG); | |
// Render the chart to image | |
chart.toImage(dataDir + "chart_" + (i+1) + "_" + wks.getName() + ".png", options); | |
} | |
} |
在 Excel 檔案中建立圖表
使用 Excel API 建立圖表很簡單,因為 API 為不同類型的圖表提供了一組不同的類,例如 Axis、Chart、ChartArea、ChartDataTable、ChartFrame、ChartPoint、ChartPointCollection、ChartCollection 等。過程是,建立 Workbook 類別物件並透過提供其索引來選擇第一個工作表或相關工作表。對於圖表的資料來源,使用下列命令將值插入工作表儲存格 設定值 方法。使用 ChartCollection 集合[添加方法]( https://reference.aspose.com/cells/java/com.aspose.cells/chartcollection#add(int,%20int,%20int,%20int,%20int) 若要新增圖表,請使用 ChartType 枚舉定義圖表類型。透過傳遞索引從 ChartCollection 集合中存取新的 Chart 物件。使用 系列合集 圖表物件來指定圖表的資料來源。
Java 建立 Excel 圖表的程式碼
// Instantiating a Workbook object | |
Workbook wkb = new Workbook(); | |
// Obtaining the reference of the first worksheet | |
WorksheetCollection wks = wkb.getWorksheets(); | |
Worksheet sheet = wks.get(0); | |
// Adding some sample value to cells | |
Cells cells = sheet.getCells(); | |
Cell cell = cells.get("A1"); | |
cell.setValue(50); | |
cell = cells.get("A2"); | |
cell.setValue(100); | |
cell = cells.get("A3"); | |
cell.setValue(150); | |
cell = cells.get("B1"); | |
cell.setValue(4); | |
cell = cells.get("B2"); | |
cell.setValue(20); | |
cell = cells.get("B3"); | |
cell.setValue(50); | |
ChartCollection charts = sheet.getCharts(); | |
// Adding a chart to the worksheet | |
int chartIndex = charts.add(ChartType.PYRAMID, 5, 0, 15, 5); | |
Chart chart = charts.get(chartIndex); | |
// Adding NSeries (chart data source) to the chart ranging from "A1" | |
// cell to "B3" | |
SeriesCollection serieses = chart.getNSeries(); | |
serieses.add("A1:B3", true); | |
// Saving the Excel file | |
wkb.save(dataDir + "Created-pyramid-chart_out.xls"); |