2017-06-22 184 views
1
for (var i = 0; i <= data.GetUpperBound(0); i++) 
{ 
    var tr = new DocumentFormat.OpenXml.Wordprocessing.TableRow(); 
    for (var j = 0; j <= data.GetUpperBound(1); j++) 
    { 
     var tc = new DocumentFormat.OpenXml.Wordprocessing.TableCell(); 

     tc.Append(new DocumentFormat.OpenXml.Wordprocessing.Paragraph(new DocumentFormat.OpenXml.Wordprocessing.Run(new DocumentFormat.OpenXml.Wordprocessing.Text(data[i, j])))); 


     tr.Append(tc); 

    } 
    table.Append(tr); 
} 

我想更改表格單元格中的字體大小。你能幫助我嗎?我不知道他們爲什麼沒有爲單元格字體大小添加屬性。Open XML更改表的字體大小

回答

0

要更改表格單元格的字體大小,你需要一個RunProperties添加到Run。 fontSize是該RunProperties內部的FontSize元件內部指定。

例如改變所有條目,以字號18,你的代碼看起來像:

for (var i = 0; i <= data.GetUpperBound(0); i++) 
{ 
    var tr = new DocumentFormat.OpenXml.Wordprocessing.TableRow(); 
    for (var j = 0; j <= data.GetUpperBound(1); j++) 
    { 
     var tc = new DocumentFormat.OpenXml.Wordprocessing.TableCell(); 

     var paragraph = new DocumentFormat.OpenXml.Wordprocessing.Paragraph(); 
     var run = new DocumentFormat.OpenXml.Wordprocessing.Run(); 
     var text = new DocumentFormat.OpenXml.Wordprocessing.Text(data[i, j]); 

     // your old code for reference: tc.Append(new DocumentFormat.OpenXml.Wordprocessing.Paragraph(new DocumentFormat.OpenXml.Wordprocessing.Run(new DocumentFormat.OpenXml.Wordprocessing.Text(data[i, j])))); 

     RunProperties runProperties1 = new RunProperties(); 
     FontSize fontSize1 = new FontSize(){ Val = "36" }; 
     runProperties1.Append(fontSize1); 

     run.Append(runProperties1); 
     run.Append(text); 

     paragraph.Append(run); 
     tc.Append(paragraph); 

     tr.Append(tc); 

    } 
    table.Append(tr); 
} 
+0

哇。我看到很多帶有該代碼的頁面,但不知道,它也適用於我。非常感謝你。 –

+0

現在我試圖改變字體與 RunFonts字體=新RunFonts(); fonts.Ascii =「Arial」; fonts.HighAnsi = 「Arial字體」; runProperties1.Append(字體); 什麼都沒有發生...... –

+0

你應該檢查出的OpenXML的生產力工具 - https://stackoverflow.com/documentation/openxml/6967/getting-started-with-openxml/28257/using-open-xml-sdk-2 -5生產力工具。創建你想要的文檔,並用這個工具對其進行逆向工程,它會告訴你正確的代碼以獲得你想要的字體。 – Taterhead