在 Java 投影片中設定類別軸的日期格式

在 Java 投影片中設定類別軸的日期格式簡介

在本教程中,我們將學習如何使用 Aspose.Slides for Java 在 PowerPoint 圖表中設定類別軸的日期格式。 Aspose.Slides for Java 是一個功能強大的函式庫,可讓您以程式設計方式建立、操作和管理 PowerPoint 簡報。

先決條件

在開始之前,請確保您具備以下條件:

  1. Aspose.Slides for Java 函式庫(您可以從這裡.
  2. Java開發環境搭建。

第 1 步:建立 PowerPoint 簡報

首先,我們需要建立一個 PowerPoint 演示文稿,在其中添加圖表。確保您已匯入必要的 Aspose.Slides 類別。

//文檔目錄的路徑。
String dataDir = "Your Document Directory";
Presentation pres = new Presentation();

第 2 步:將圖表新增至投影片

現在,我們將圖表新增到 PowerPoint 投影片中。在此範例中我們將使用面積圖。

IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Area, 50, 50, 450, 300);

第三步:準備圖表數據

我們將設定圖表資料和類別。在此範例中,我們將使用日期類別。

IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
wb.clear(0);

chart.getChartData().getCategories().clear();
chart.getChartData().getSeries().clear();

//新增日期類別
chart.getChartData().getCategories().add(wb.getCell(0, "A2", convertToOADate(new GregorianCalendar(2015, 1, 1))));
chart.getChartData().getCategories().add(wb.getCell(0, "A3", convertToOADate(new GregorianCalendar(2016, 1, 1))));
chart.getChartData().getCategories().add(wb.getCell(0, "A4", convertToOADate(new GregorianCalendar(2017, 1, 1))));
chart.getChartData().getCategories().add(wb.getCell(0, "A5", convertToOADate(new GregorianCalendar(2018, 1, 1))));

//新增數據系列
IChartSeries series = chart.getChartData().getSeries().add(ChartType.Line);
series.getDataPoints().addDataPointForLineSeries(wb.getCell(0, "B2", 1));
series.getDataPoints().addDataPointForLineSeries(wb.getCell(0, "B3", 2));
series.getDataPoints().addDataPointForLineSeries(wb.getCell(0, "B4", 3));
series.getDataPoints().addDataPointForLineSeries(wb.getCell(0, "B5", 4));

第4步:自訂類別軸

現在,讓我們自訂類別軸以以特定格式(例如,yyyy)顯示日期。

chart.getAxes().getHorizontalAxis().setCategoryAxisType(CategoryAxisType.Date);
chart.getAxes().getHorizontalAxis().setNumberFormatLinkedToSource(false);
chart.getAxes().getHorizontalAxis().setNumberFormat("yyyy");

第 5 步:儲存簡報

最後,儲存 PowerPoint 簡報。

pres.save(dataDir + "test.pptx", SaveFormat.Pptx);

就是這樣!您已使用 Aspose.Slides for Java 成功設定了 PowerPoint 圖表中類別軸的日期格式。

在 Java 投影片中設定類別軸日期格式的完整原始碼

	//文檔目錄的路徑。
	String dataDir = "Your Document Directory";
	Presentation pres = new Presentation();
	try
	{
		IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Area, 50, 50, 450, 300);
		IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
		wb.clear(0);
		chart.getChartData().getCategories().clear();
		chart.getChartData().getSeries().clear();
		chart.getChartData().getCategories().add(wb.getCell(0, "A2", convertToOADate(new GregorianCalendar(2015, 1, 1))));
		chart.getChartData().getCategories().add(wb.getCell(0, "A3", convertToOADate(new GregorianCalendar(2016, 1, 1))));
		chart.getChartData().getCategories().add(wb.getCell(0, "A4", convertToOADate(new GregorianCalendar(2017, 1, 1))));
		chart.getChartData().getCategories().add(wb.getCell(0, "A5", convertToOADate(new GregorianCalendar(2018, 1, 1))));
		IChartSeries series = chart.getChartData().getSeries().add(ChartType.Line);
		series.getDataPoints().addDataPointForLineSeries(wb.getCell(0, "B2", 1));
		series.getDataPoints().addDataPointForLineSeries(wb.getCell(0, "B3", 2));
		series.getDataPoints().addDataPointForLineSeries(wb.getCell(0, "B4", 3));
		series.getDataPoints().addDataPointForLineSeries(wb.getCell(0, "B5", 4));
		chart.getAxes().getHorizontalAxis().setCategoryAxisType(CategoryAxisType.Date);
		chart.getAxes().getHorizontalAxis().setNumberFormatLinkedToSource(false);
		chart.getAxes().getHorizontalAxis().setNumberFormat("yyyy");
		pres.save("Your Output Directory" + "test.pptx", SaveFormat.Pptx);
	}
	finally
	{
		if (pres != null) pres.dispose();
	}
}
public static String convertToOADate(GregorianCalendar date) throws ParseException
{
	double oaDate;
	SimpleDateFormat myFormat = new SimpleDateFormat("dd MM yyyy");
	java.util.Date baseDate = myFormat.parse("30 12 1899");
	Long days = TimeUnit.DAYS.convert(date.getTimeInMillis() - baseDate.getTime(), TimeUnit.MILLISECONDS);
	oaDate = (double) days + ((double) date.get(Calendar.HOUR_OF_DAY) / 24) + ((double) date.get(Calendar.MINUTE) / (60 * 24)) + ((double) date.get(Calendar.SECOND) / (60 * 24 * 60));
	return String.valueOf(oaDate);

##結論

您已使用 Aspose.Slides for Java 成功自訂了 Java Slides 圖表中類別軸的日期格式。這允許您在圖表上以所需的格式顯示日期值。請隨意根據您的具體要求探索進一步的客製化選項。

常見問題解答

如何更改類別軸的日期格式?

若要變更類別軸的日期格式,請使用setNumberFormat類別軸上的方法並提供所需的日期格式模式,例如“yyyy-MM-dd”或“MM/yyyy”。確保設定setNumberFormatLinkedToSource(false)覆蓋預設格式。

我可以在同一簡報中對不同圖表使用不同的日期格式嗎?

是的,您可以為同一簡報中不同圖表中的類別軸設定不同的日期格式。只需根據需要自訂每個圖表的類別軸即可。

如何為圖表添加更多數據點?

若要為圖表新增更多資料點,請使用getDataPoints().addDataPointForLineSeries資料系列上的方法並提供資料值。