我是Open Xml的新手,並使用Open Xml SDK創建了報表應用程序。它將數據填充到表格中,並且當表格高度超過幻燈片邊框時,將幻燈片克隆並填充新幻燈片中的下一組數據等等。所有的工作都很好,但是當一些行有數據包裝成2行時,無法在確切的地方插入新頁面。看起來原因是當有單行數據時,Open Xml仍然返回與行高相同的行高。無論如何解決這個問題。OpenXML,PresentationML表格高度和換行高度
下面是一段代碼,做分頁邏輯(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;
amura .. of course我以前見過這個問題:)。但是在計算文本的版面區域時,我們需要確保單元格邊距,填充和縮進都被考慮在內?如果你已經達到這個目標,你會介意分享一些資源嗎? – Aneef 2012-03-07 09:44:53
當你說填充和保證金需要考慮時,你是對的。我從來沒有在這個問題上標出正確答案,因爲我從未找到解決方案。我回到我們的客戶身邊,得到了一個可以接受的解決方法。 – amurra 2012-03-07 15:21:56