在 Android 上的簡報中自訂圖表資料表格
概觀
Aspose.Slides for Android via Java 讓您顯示圖表的資料表格,並自訂文字格式、邊框與圖例鍵。本文章說明如何啟用資料表格、設定文字格式、控制各類邊框,以及顯示或隱藏圖例鍵。範例會將設定好的圖表儲存為 PPTX 檔案。
設定字型屬性
要顯示圖表的資料表格,請將 true 傳遞給setDataTable。使用getChartDataTable 取得表格並設定文字格式。
- 使用Presentation 類別載入簡報。
- 在第一張投影片加入叢集柱狀圖。
- 啟用圖表的資料表格。
- 透過setFontBold 設定粗體,並將
20傳遞給setFontHeight 以使用 20 點字型。 - 儲存已修改的簡報。
以下範例需要工作目錄中有 test.pptx(至少一張投影片)。它會在位置 (50, 50) 新增一個寬 600 點、高 400 點、使用預設資料的圖表。儲存的 output.pptx 內含已啟用資料表格且套用指定字型設定的圖表。
import com.aspose.slides.*;
Presentation presentation = new Presentation("test.pptx");
try {
ISlide slide = presentation.getSlides().get_Item(0);
IChart chart = slide.getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 600, 400);
chart.setDataTable(true);
IChartPortionFormat portionFormat = chart.getChartDataTable().getTextFormat().getPortionFormat();
portionFormat.setFontBold(NullableBool.True);
portionFormat.setFontHeight(20);
presentation.save("output.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
自訂資料表格邊框
使用IChart.setDataTable 啟用表格,並透過IChart.getChartDataTable 取得。您可以獨立控制三種邊框:
- setBorderHorizontal 控制水平儲存格邊框。
- setBorderVertical 控制垂直儲存格邊框。
- setBorderOutline 控制表格的外框。
將 true 傳遞給各方法即可顯示相應邊框,傳遞 false 則隱藏。以下範例建立一個使用預設資料的叢集柱狀圖,顯示水平邊框與外框,隱藏垂直邊框。此範例不需要任何輸入檔案,圖表位置與大小以點為單位指定。
import com.aspose.slides.*;
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
IChart chart = slide.getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 600, 400);
chart.setDataTable(true);
IDataTable dataTable = chart.getChartDataTable();
dataTable.setBorderHorizontal(true);
dataTable.setBorderVertical(false);
dataTable.setBorderOutline(true);
presentation.save("data-table-borders.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
以下比較使用相同的圖表資料與圖例鍵設定,分別呈現四種情況。從全部邊框啟用開始,每個變體僅關閉一種邊框設定。左下角的變體與範例中的邊框設定相同。

顯示或隱藏圖例鍵
圖例鍵是資料表格中系列名稱旁的彩色標記,可協助讀者將每一列對應到圖表系列。將 true 傳遞給setShowLegendKey 以顯示這些標記,傳遞 false 則隱藏。
圖表的獨立圖例由IChart.setLegend 控制。這兩項設定互相獨立:隱藏獨立圖例不會影響資料表格內的圖例鍵,隱藏資料表格的鍵也不會隱藏獨立圖例。
以下範例建立一個使用預設資料的圖表,啟用資料表格,並在表格內顯示圖例鍵,同時隱藏獨立圖例。所有表格邊框皆明確啟用。此範例不需要輸入簡報。若僅想隱藏表格的鍵,請將 false 傳遞給setShowLegendKey。
import com.aspose.slides.*;
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
IChart chart = slide.getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 600, 400);
chart.setDataTable(true);
chart.setLegend(false);
IDataTable dataTable = chart.getChartDataTable();
dataTable.setBorderHorizontal(true);
dataTable.setBorderVertical(true);
dataTable.setBorderOutline(true);
dataTable.setShowLegendKey(true);
presentation.save("data-table-legend-keys.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
以下比較展示相同的表格,左側顯示圖例鍵,右側隱藏圖例鍵。所有邊框仍保持啟用,兩種情況下獨立圖例皆被隱藏。

常見問題
我可以在圖表的資料表格中顯示圖例鍵嗎?
可以。將 true 傳遞給setShowLegendKey 以顯示圖例鍵,傳遞 false 則隱藏。
將簡報匯出為 PDF、HTML 或影像時,資料表格會被保留嗎?
會。Aspose.Slides 會在匯出至PDF、HTML或images 時,將圖表及其顯示的資料表格作為投影片的一部份渲染。
我能在從範本載入的圖表上使用資料表格嗎?
可以。對於從現有簡報或範本載入的圖表,使用hasDataTable 與setDataTable 來檢查或變更其資料表格的顯示狀態。
我要如何找出哪些圖表已啟用資料表格?
遍歷每張投影片上的形狀,辨識出圖表後呼叫其hasDataTable 方法。回傳 true 表示該圖表已啟用資料表格。