输出到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
尝试使用PadLeft和PadRight方法.例如:
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)
如果您要写入 DOCX 格式,则应使用Office Open XML 格式。(另请参阅此处了解更多详细信息。)
然后,要以表格格式对齐数据,您应该在文档中插入一个表格,并用所需的数据填充该表格。
以下是一些示例代码,演示如何以编程方式将表插入 DOCX 文件中。
您应该能够隐藏表格的边框,以便只留下表格单元格中的文本可见。
| 归档时间: |
|
| 查看次数: |
16889 次 |
| 最近记录: |