当前位置: 首页 > 面试题库 >

使用Apache POI 4.0运行官方示例LineChars和ScatterChart时出现问题

师野
2023-03-14
问题内容

Apache POI 4.0
的官方示例LineChart和ScatterChart出现问题。它们可以编译并正常运行,但是创建的Excel文件无法打开,说明内容不可读。Excel
2010和2016提供了从工作簿中恢复数据的选项,单击“是”后,将出现此对话框。可能是什么问题?


问题答案:

新的XDDF代码没有设置的axIdS IN的lineChartscatterChart

/xl/charts/chart1.xml这看起来像:

<c:lineChart>
 ...
 <c:axId val="0"/>
 <c:axId val="1"/>
</c:lineChart>

折线图

做添加:

...
            XDDFChartData data = chart.createData(ChartTypes.LINE, bottomAxis, leftAxis);
            data.addSeries(xs, ys1);
            data.addSeries(xs, ys2);
            chart.plot(data);

            //setting the axis Ids to the LineChart
            chart.getCTChart().getPlotArea().getLineChartArray(0).addNewAxId().setVal(bottomAxis.getId());
            chart.getCTChart().getPlotArea().getLineChartArray(0).addNewAxId().setVal(leftAxis.getId());


            // Write the output to a file
            try (FileOutputStream fileOut = new FileOutputStream("ooxml-line-chart.xlsx")) {
                wb.write(fileOut);
            }
...

LineChart.java

...
            XDDFChartData data = chart.createData(ChartTypes.SCATTER, bottomAxis, leftAxis);

            data.addSeries(xs, ys1);
            data.addSeries(xs, ys2);
            chart.plot(data);

            //setting the axis Ids to the ScatterChart
            chart.getCTChart().getPlotArea().getScatterChartArray(0).addNewAxId().setVal(bottomAxis.getId());
            chart.getCTChart().getPlotArea().getScatterChartArray(0).addNewAxId().setVal(leftAxis.getId());


            // Write the output to a file
            try (FileOutputStream fileOut = new FileOutputStream("ooxml-scatter-chart.xlsx")) {
                wb.write(fileOut);
            }

...

ScatterChart.java

它会工作。



 类似资料:
  • 我正在尝试使用GPU而不是CPU运行dl4j模型。该模型使用CPU运行良好。所以我决定尝试CUDA来利用我的GPU。我遵循了这里描述的每个步骤,对于CUDA安装,我按照NVIDIA的说明从这里安装CUDA工具包。代码编译正常,但出现错误: 我的项目是使用IntelliJ上的Maven创建的。所有的依赖项都是可以的,否则代码将无法编译。必须缺少某些后端依赖项、库或安装。可能是版本不兼容的问题 消息为

  • 问题内容: 我需要在Flask应用程序上定期运行某些任务。我决定使用一个简单的库-Schedule(https://github.com/dbader/schedule)来执行此操作。我在与主应用程序线程不同的线程上运行任务计划程序。这是相关的代码片段。 运行此程序时,我想要“运行定期任务!” 每10秒打印一次。但是,这是我得到的输出。 显然,由于某种原因,任务似乎每10秒执行两次,而不是一次。但

  • 我已经将hadoop2和HBase0.98与phoenix集成在一起,并键入命令phoenix shell starts,但是当我尝试通过以下命令运行apache phoenix示例时应该是主人写的。检查'zookeeper.znode.parent'中配置的值。可能与主服务器中配置的不匹配。 我在单一模式下使用Hadoop2.6,在psudo分布式模式下使用HBase0.98,另外我没有显式安装

  • 我只是想测试JAVACPP并尝试了我的eclipse中网页中的第一个示例: http://code.google.com/p/javacpp/(Legacyclass和Legacy库) 我一打字: javac-cp libs\javacpp.jar:. src\LegacyLibrary.java 在命令行中,我得到以下错误消息: src\LegacyLibrary.java: 1:错误:包com

  • 我在运行Neo4jJavaJDBC的示例时遇到了一些问题。我遵循GitHub Neo4j JDBC的指示,但当我到达: 我有一个内置错误: [错误]无法对项目neo4j-movies执行goal org . code Haus . mojo:exec-maven-plugin:1 . 2 . 1:java(default-CLI):执行Java类时出现异常。null: InvocationTarg

  • 我是新来的阿帕奇卡珊德拉。 我已经安装了Apache Cassandra 1.2.5和Apache Maven。现在我只想运行zznate在github.com上发布的hector示例。我正在使用Mac和iOS。 我将hector示例文件夹克隆到我的本地文件夹中,并使用命令 制造失败。 我有没有漏掉什么步骤?谢谢您们。 错误]无法执行目标org.codehaus.mojo: exec-maven-