有没有办法动态生成word文档而无需在机器上有文字

我打算动态地在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选项来查看它们是什么。

有第三方图书馆可以完成这项工作。

例如,快速谷歌想出了这个 。

我没有尝试过,所以我不能给你具体的建议,我很害怕!

让我们知道您的身体情况如何…

在Office 2007中,Microsoft引入了一种称为Microsoft Open Office XML格式 (.docx)的新文件格式。 此格式与旧版Microsoft Word不兼容。 由于这是XML,因此无需安装Word即可创建或读取。

以下是基于自定义模板生成文档的组件。 这些文档是从sharepoint列表生成的……所以数据会从列表项中提取到文档中: http : //store.sharemuch.com/products/generate-word-documents-from-sharepoint-list

希望有所帮助,

Yaroslav Pentsarskyy博客:www.sharemuch.com