我从头开始创建一个Excel工作簿.其中一个工作表包含图表,我想设置图表标题.
Apache POI在HSSFChart上有一个setChartTitle方法,但XSSFChart和格式不可知的Chart都没有设置图表标题的方法.由于我需要创建.xlsx文件,这对我来说是一个问题.
在对POI代码和OOXML规范进行了大量探讨之后,我设法提出了这个代码,用于在新创建的图表上设置标题:
if (chart instanceof XSSFChart) {
XSSFChart xchart = (XSSFChart) chart;
CTChart ctChart = xchart.getCTChart();
CTTitle title = ctChart.addNewTitle();
CTTx tx = title.addNewTx();
CTTextBody rich = tx.addNewRich();
rich.addNewBodyPr(); // body properties must exist, but can be empty
CTTextParagraph para = rich.addNewP();
CTRegularTextRun r = para.addNewR();
r.setT("My chart title");
}
Run Code Online (Sandbox Code Playgroud)
这似乎工作 - 我可以在Excel 2013中加载生成的文件,图表是正确的标题.
有更简单的方法吗?在Excel中创建的工作簿中更改图表标题时,我需要注意哪些问题?