簡體   English   中英

OpenXml表控件數據綁定

[英]OpenXml table control data binding

我的任務是從docx模板和xml自動化文檔生成過程。 我在http://ericwhite.com/blog/2011/03/29/release-of-v2-of-doc-gen-system-xpath-in-content-controls/中找到了“如何”示例

但是我遇到了問題,不知道如何處理復雜的表...例如,我的表部分xml看起來像:

<TBL>
 <ROW>
    <CLMN_1>0</CLMN_1>      
    <CLMN_2>Date</CLMN_2>
    <CLMN_3>Customer name</CLMN_3>
    <CLMN_4>Order No</CLMN_4>
    <CLMN_5>Account</CLMN_5>
 </ROW>
 <ROW>
    <CLMN_1>0</CLMN_1>
    <CLMN_2>Invoice date</CLMN_2>
    <CLMN_3>Customer Account/IBAN</CLMN_3>
    <CLMN_4>Explanation</CLMN_4>
    <CLMN_5>Calling number</CLMN_5>
    <CLMN_6>Cash out</CLMN_6>
    <CLMN_7>Cash in</CLMN_7>
 </ROW>
 <ROW>
    <CLMN_1>1</CLMN_1>
    <CLMN_2>Current amount</CLMN_2>
    <CLMN_3>366,47</CLMN_3>
 </ROW>
 <ROW>
    <CLMN_1>2</CLMN_1>
    <CLMN_2>05.07.2014.</CLMN_2>
    <CLMN_3 />
    <CLMN_4>2 -   Barclays ATM c7241152 Barcelona , Barcelona Street</CLMN_4>
    <CLMN_5 />
    <CLMN_6 />
    <CLMN_7 />
 </ROW>
</TBL>

從該xml,我需要基於以下內容創建表:第一個標記(clmn_1)“描述”行的外觀以及該行的形式(頁眉/頁腳/正文)。 在我的示例中,如果clmn_1 == 0->該行是標頭,則每隔clmn_X輸入一次表示該行中的數據位置(例如clmn_7數據應位於第6列等)

我可以根據艾里克·懷特(Eric White)的例子來構建類似的東西嗎?

圖片和詳細說明的鏈接http://tinypic.com/r/an1w7q/8

感謝幫助和想法如何處理這個怪物:)

我建議的方法與Eric的方法略有不同,但是您可以使用C#中的OpenDoPE重復序列,使用https://www.nuget.org/packages/docx4j.NET/處理此問題。

您需要創建一個具有單個表行和7列的docx,然后將單元格1到7綁定到相應的CLMN_元素

然后將表行包裝在重復的內容控件中。

要進行設置,您可以使用http://www.opendope.org/downloads/authoring-friendly/setup.exe

轉到創作選項卡,添加示例XML文件,然后將元素從任務窗格拖放到文檔表面上。

然后,在運行時注入XML,使用ContentControlsMergeXML.java的C#等效項

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM