1

我是新来的细胞。我有一个模板 excel 文件,它有一个简单的数据表(有一个标题行和一个空行)和一个条形图(数据表配置为源)。使用 aspose 单元版本 8.1.1。我正在尝试读取 excel 文件,获取表对象并将数据插入其中。

我的目标是将数据插入表格并自动刷新图表。

这就是我从excel中获取表格对象的方式

Workbook workbook = new Workbook(new TestReportsProcessor().getClass().getResourceAsStream("/ChartRefreshTest.xlsx"));
Worksheet worksheet = workbook.getWorksheets().get("Sheet1");
ListObjectCollection listObjectCollection = worksheet.getListObjects();
ListObject table = listObjectCollection.get(0);

但是我在 ListObject 中看不到任何可以选择在表中添加/插入行的方法。

我尝试过的选项:我可以通过获取表格开始和结束行和列位置来手动获取单元格位置并将数据插入到单元格中。但是,当我以这种方式插入数据时,表格预设结束位置之外的数据不会作为表格的一部分插入。即当我插入行时,表没有扩展。

能否请你帮忙?

4

2 回答 2

1

您可以将记录插入表对象。当所有记录完成后,您应该更新表的范围。在 aspose ListObject 对象中,有一种方法:
public void Resize(int startRow, int startColumn, int endRow, int endColumn, bool hasHeaders); 这会将您的表的 orinal 范围更新为新的。

于 2015-02-10T02:11:00.563 回答
0

使用集合中的insertRows方法在Cells工作表中插入行。这是一个示例代码。

Workbook workbook = new Workbook(new TestReportsProcessor.class.getResourceAsStream("/ChartRefreshTest.xlsx"));
Worksheet worksheet = workbook.getWorksheets().get("Sheet1");
// Insert a row at index 3
worksheet.getCells().insertRows(3);

有关更多信息,请阅读插入和删除行和列

于 2014-07-17T23:02:33.963 回答