我是C#開發新手,我應該以編程方式生成Word文檔。在Word表單元格內格式化特定單詞
在某些時候,我這樣做:
Paragraph p1 = document.Paragraphs.Add();
Table t1 = p1.Range.Tables.Add(p1.Range, 2, 1, Missing.Value, Missing.Value);
t1.Range.Font.Size = 11;
t1.Style = style;
t1.Rows[1].Alignment = WdRowAlignment.wdAlignRowCenter;
t1.Cell(1, 1).Range.Select();
document.Application.Selection.TypeText(item.FullName + "");
t1.Cell(2, 1).Range.Select();
document.Application.Selection.TypeText(item.swca_description + "");
t1.Cell(2, 1).Range.Bold = 0;
第一個單元格是我打算格式化(該item.FullName
)。
有什麼想法?
編輯: 這是我如何創建一個字符串,我需要給顏色:
private string GetFullName()
{
StringBuilder sb = new StringBuilder();
sb.Append(this.swc_datatype == null ? "void" : this.swc_datatype.swcdt_name);
sb.Append($" {this.swca_name}(");
foreach (swc_api_parameter inputParameter in this.swc_api_parameter)
sb.Append($"{inputParameter.swc_datatype?.swcdt_name} {inputParameter.swcap_name},");
if (swc_api_parameter.Any())
sb.Length = sb.Length - 1;
sb.Append(")");
return sb.ToString();
}
LE:我已經實現的方法是這樣的:
public static Paragraph AddRtfTextFromFile(this Document document, string rtfPath)
{
Paragraph p = document.Paragraphs.Add();
p.Range.InsertFile(rtfPath, Missing.Value, false);
p.Range.Font.Bold = 0;
p.Range.Font.Name = "Calibri";
p.Range.Font.Size = 12;
p.Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphJustify;
p.Range.PageSetup.VerticalAlignment = WdVerticalAlignment.wdAlignVerticalTop;
p.Range.InsertParagraphAfter();
return p;
}
沒有理由爲你的英語道歉,它一點也不壞! – FrankK
您是使用Word Interop還是其他庫? – Arul
它基於Interop,但我使用的是NetOffice庫。我這樣做的原因是因爲用戶的唯一要求是安裝字,它不適用於哪個版本。 –