私はopenxmlを使って作業しています。基本的に私は元の文書を編集しています。それはテンプレートです。テンプレートは最初のページと2番目のページリストにリストを渡す<T>
DocTable docTable = new DocTable();
Paragraph paragraph = doc.MainDocumentPart.Document.Body.Descendants<Paragraph>()
.Where<Paragraph>(p => p.InnerText.Equals("some Text")).First();
Table table = docTable.createTable(Convert.ToInt16(2), Convert.ToInt16(2));
mainPart.Document.Body.InsertAfter(table, paragraph);
私は検索basicly:ので、すべてのセクション、私はそれは、2ページの間に追加されなければならない(..など、段落、テーブル)を追加し、私はすでに、私はシンプルなテーブルをこのようを挿入できることを成し遂げますページ1の終わりにpargraphを置き、後にテーブルを挿入します。私の問題は次のとおりです。フロントエンドWebページからセクションを1つも受け取らない、セクションのリストを受け取る、このリストを定義されたタイプのないオブジェクトのリストとして定義したのは、テーブル、段落などを持つことができるからです。
List<Object> listOfSections = new List<Object>();
では、フロントエンドからのセクションを受け取り、そしてそれは、このようなキーであるかを識別:
foreach (DocumentAtributes section in sections.atributes)
{
if(section.key != "Document")
{
checkSection(mainPart, section, listOfSections);
}
}
public void checkSection(MainDocumentPart mainPart,DocumentAtributes section,List<Object> listOfSections)
{
switch (section.key)
{
case "Table":
DocTable docTable = new DocTable();
Table table = docTable.createTable(Convert.ToInt16(section.rows), Convert.ToInt16(section.cols));
listOfSections.Add(new Run(table));
break;
case "Paragraph":
DocRun accessTypeTitle = new DocRun();
Run permissionTitle = accessTypeTitle.createParagraph(section.text, PARAGRAPHCOLOR, Convert.ToInt16(section.fontSize), DEFAULTFONT,section.align);
listOfSections.Add(permissionTitle);
break;
case "Image":
DocImage docImage = new DocImage();
Run image = docImage.imageCreatorFromDisk(mainPart, "abcd", Convert.ToInt16(section.width), Convert.ToInt16(section.height), section.align, null, null, section.wrapChoice, section.base64);
listOfSections.Add(image);
break;
}
}
が、私は方法が必要です
のでbasicly私はこれを持っていますこのリストをinsertAfterに追加するには、リストでなければなりません。個々のオブジェクトを追加することはできません。最初に挿入すると、次のセクションが段落の後に追加されます。それはtと同じです彼はセクション。
のでinsertAfterはリストを受け取り、私はオブジェクトのリストに方法があり、このようなものです:insertAfter(リスト、refChildの)
iは、オブジェクトの私のリストを唱えるか、他の何かを行うことができますか?ここで何か助けが必要です。
generic以外のコレクションを混乱させるのではなく、リスト
いいえ私はfrontEndから複素jsonを受け取っているので、何でも構いません –
または少なくとも私はより良い解を知らない –