如何使用string.Format()函数在C#中对齐字符串?

Ant*_*Tun 5 .net c# string

输出到word文档(docx).

我想使用C#4.0 string.Format来做这样的outuput:

string1: stringValue1,  string2:stringValue2
string4: stringValue4,  string5:stringValue5
string6: stringValue6,  string7:stringValue7
string8: stringValue8,  string9:stringValue9
Run Code Online (Sandbox Code Playgroud)

我正在使用string.Format("{0,-10} {1,-10}",string1,string2)但它什么也没做.有没有办法如何使用string.Format()对齐字符串?我看到'\ t'解决方案,但如何将其添加到string.Fornmat()?

这是我的代码和输出:

string titel = HttpUtility.HtmlEncode(docItem.Title);
                    string href = docItem.FullURL;
                    string title = string.Format("{0}", titel);
                    string author = docItem.Author;
                    string date = docItem.ChangedDate.Date.ToShortDateString();
                    CreateTextBoxConentParagraph(doc, string.Format("Title: <a href='{0}'>{1}</a> Author: {2} Geändert an: {3}",href,title.PadRight(20),author.PadRight(20), date),string.Format("chunkId_{0}", i++));
Run Code Online (Sandbox Code Playgroud)

输出:标题:作者:aaaGeändertan:19.04.2013

标题:第二作者:aaaGeändert和:2013年4月18日

标题:slika作者:aaaGeändertan:18.04.2013

标题:dm作者:aaaGeändertan:18.04.2013

标题:Mathias作者:aaaGeändertan:19.04.2013

标题:QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQqq作者:aaaGeändertan:19.04.2013

Hos*_*Rad 8

尝试使用PadLeftPadRight方法.例如:

string.Format("{0} {1}",string1.PadRight(25),string2.PadRight(25)) 
Run Code Online (Sandbox Code Playgroud)

您还可以使用角色填充空格.来自MSDN:

string str = "forty-two";
char pad = '.';
Console.WriteLine(str.PadRight(15, pad));    // Displays "forty-two......".
Console.WriteLine(str.PadRight(2,  pad));    // Displays "forty-two".
Run Code Online (Sandbox Code Playgroud)


Mat*_*son 1

如果您要写入 DOCX 格式,则应使用Office Open XML 格式。(另请参阅此处了解更多详细信息。)

然后,要以表格格式对齐数据,您应该在文档中插入一个表格,并用所需的数据填充该表格。

以下是一些示例代码,演示如何以编程方式将表插入 DOCX 文件中。

您应该能够隐藏表格的边框,以便只留下表格单元格中的文本可见。