我打算动态地在Web服务器上生成Word文档.在c#中有这样做的好方法吗?我知道我可以编写Word来做这个,但我更喜欢另一种选择.
我曾经在一家公司工作过,真的想要生成word文档,最后他们对具有".doc"扩展名的RTF文档非常满意.Word识别并打开它们没有问题.
RTF文档是使用iText.net(免费的.net库)生成的,API非常易于使用,性能非常好,您不需要机器上的文字,也可以扩展为生成PDF,HTML和未来的文本文档只需很少的努力.四年后我创建的解决方案仍然存在,所以这是iText.net的一个小小的见证.
看起来官方的iText页面表明iText Sharp是目前最好的.Net选择,所以这是另一种选择
你最好生成一个rtf文件,哪个单词将知道如何打开.
如果要生成Office 2007文档,请检查Open XML File Formats,它们是简单的压缩XML文件,请检查以下链接:
打开XML文件格式:它是什么,我该如何开始?
介绍Office(2007)Open XML文件格式
编辑:检查这个项目,可以为您提供一个良好的起点:
DocumentMaker
看起来非常简单和可自定义,看看这段代码:
Paragraph p = new Paragraph(); p.Runs.Add(new Run("Text can have multiple format styles, they can be ")); p.Runs.Add(new Run("bold and italic", TextFormats.Format.Bold | TextFormats.Format.Italic)); doc.Paragraphs.Add(p);
Word将很乐意打开一个扩展名为.doc的HTML.如果包含内部样式表,则可以将其完全格式化.有关此主题的上一篇文章:
在C#中导出到Word文档
没有Word本身,创建旧的.DOC文件(前Word 2007)几乎是不可能的.格式太复杂了.微软已经发布了格式描述,但它足以让一个成熟的程序员流下眼泪.这也是一个原因(历史),但这并没有使事情变得更好.
新的.DOCX会更容易,但仍然有点麻烦.但是,根据您要定位的Word版本,还有其他一些选项.
首先,有经典的.RTF.这种格式仍然相当复杂,但文档齐全,并且在许多应用程序和平台上都有很强的支持.并且您可以使用一些字符串替换到模板文件中以使事情更容易(它是非二进制的).
然后是"旧的"Word XML文件.我认为他们从Word XP开始工作.有点是.DOCX的前身.我用过它们,不错.文档很好.
最后,我选择的简单方法是制作一个简单的HTML.Word可以从2000版本开始加载HTML文件.最简单的方法就是将HTML文件的扩展名更改为.DOC,然后就可以了.您还可以添加一些特定于字的标记和注释,以使其在Word中看起来更好.使用Word的另存为... HTML选项来查看它们是什么.