我是 Open Xml 的新手,并且使用 Open Xml SDK 创建了一个报告应用程序。它将数据填充到表格中,当表格高度超过幻灯片边框时,克隆幻灯片并将下一组数据填充到新幻灯片中,依此类推。一切正常,但是当某些行包含包含 2 行的数据时,无法在确切位置插入新页面。似乎原因是当有单行数据时,Open Xml 仍然返回与行高相同的行高。有没有办法解决这个问题。
这是一段执行分页逻辑的代码(CreateTextCell 是一个创建文本单元格并返回的方法):
var tbl = current.Slide.Descendants<A.Table>().First();
var tr = new A.TableRow();
tr.Height = 200000;
tr.Append(CreateTextCell(product.Name));
tr.Append(CreateTextCell(product.ProductNumber));
tr.Append(CreateTextCell(product.Size));
tr.Append(CreateTextCell(String.Format("{0:00}", product.ListPrice)));
tr.Append(CreateTextCell(product.SellStartDate.ToShortDateString()));
tbl.Append(tr);
totalHeight += tr.Height;
if (totalHeight > pageBorder)
overflow = true;