0
這是我的問題:我試圖執行郵件合併使用OpenXml和C#。爲此,我必須創建一個與我的數據集中的行數相同的Word文檔(我的數據集是一個CSV文件)。OpenXml,Word和C#
我創建了一個新文檔,並且試圖在本文檔的每個頁面上覆制我的模板。不幸的是,只有第一頁有正確的格式(我的模板被複制)。要複製,我使用InnerXml
,我試圖從我的模板複製到我的新單詞文檔的每個頁面。
我知道我的問題來自我的指示,但我不知道如何解決它。
這裏是我的代碼:
string fileName = @"MyTemplate";
using (WordprocessingDocument pkgDoc = WordprocessingDocument.Open(fileName, true))
{
pkgDoc.ChangeDocumentType(DocumentFormat.OpenXml.WordprocessingDocumentType.Document);
var test = (pkgDoc.MainDocumentPart.RootElement.InnerXml);
string filenamecible = @"@MyNewWordDocument";
using (WordprocessingDocument package = WordprocessingDocument.Create(filenamecible, WordprocessingDocumentType.Document))
{
MainDocumentPart mainPart = package.AddMainDocumentPart();
//Create DOM tree for simple document.
mainPart.Document = new Document();
for (int i = 0; i < csvline.Count; i++)
{
mainPart.RootElement.InnerXml = test;
var x = new Break() { Type = BreakValues.Page };;
mainPart.Document.Append(x);
mainPart.Document.Save();
}
package.MainDocumentPart.Document.Save();
}
}
什麼問題,該如何解決?你也沒有提到。你還應該使用描述性標題。 –
我在段落中講過。我有一個CSV文件,我想創建一個Word文檔,其中包含與CSV文件中的行數相同的頁面數。此外,因爲我正在做一個mailmerge函數,所以我不得不在新文檔的每個頁面中複製我的模板Word。 我的單詞模板是「你好先生X,你出生在X ...」的想法是創建一個新的Word文檔,其中包含「你好先生X,你出生在X」每頁。頁面的數量與csv文件行相同。 – VERYNET