自动换行上的OpenXML、PresentationML表高和行高换行、OpenXML、PresentationML

由网友(倾听あ泪落)分享简介:我是Open XML的新手,并且已经使用Open XML SDK创建了一个报表应用程序。它将数据填充到表中,当表高度超过幻灯片边框时,克隆幻灯片,并在新幻灯片中填充下一组数据,依此类推。所有操作都运行良好,但是当某些行包含换行为2行的数据时,无法在准确的位置插入到新页。这似乎是因为Open XML在只有一行数据时仍然返...

我是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;

推荐答案

C 中常用的几种读取XML文件的方法

我有一个非常相似的question,我发现在通过Open XML SDK填充表时,表的高度没有更新。仅当演示文稿在Power Point中实际打开时才会更新。这显然不会帮助您在代码中确定何时将表格拆分到新幻灯片中,但如果您尝试answer,它可能会有所帮助。

阅读全文

相关推荐

最新文章