代码之家  ›  专栏  ›  技术社区  ›  minty

有没有一种方法可以动态生成word文档而不必在机器上使用word

  •  18
  • minty  · 技术社区  · 17 年前

    我计划在web服务器上动态生成一个word文档。在C_有好的方法吗?我知道我可以写文字来做这件事,但我更喜欢另一种选择。

    8 回复  |  直到 12 年前
        1
  •  19
  •   JB Brown    17 年前

    过去我曾在一家公司工作,该公司非常希望生成word文档,最终他们对扩展名为“.doc”的rtf文档非常满意。单词识别和打开它们没有问题。

    rtf文档是用 iText.net (免费的.NET库),这个API非常容易使用,性能非常好,你不需要在机器上使用word,而且,你可以扩展到生成pdf、html和文本文档,在未来只需很少的努力。四年后,我创建的解决方案仍然存在,因此这是对itext.net有利的一点证据。

    看起来像是官员 iText page 表明 iText Sharp 是目前最好的.NET选择,所以这是另一个选择

        2
  •  9
  •   Brian    17 年前

    你最好生成一个rtf文件,哪个单词知道如何打开。

        3
  •  8
  •   Christian C. Salvadó    17 年前

    如果要生成office 2007文档,请检查打开的xml文件格式,它们是简单的压缩xml文件,请检查以下链接:

    编辑: 检查这个项目,可以作为一个很好的起点:

    看起来非常简单且可定制,请看下面的代码片段:

    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);
    
        4
  •  6
  •   Community Mohan Dere    9 年前

    word很乐意打开一个扩展名为.doc的html。如果包含内部样式表,则可以将其完全格式化。之前有一篇关于这个主题的文章:

    Export to Word Document in C#

        5
  •  6
  •   Vilx-    17 年前

    如果没有word本身,创建旧的.doc文件(pre-word 2007)几乎是不可能的。格式太复杂了。微软已经发布了格式描述,但这足以让一个成熟的程序员落泪。这也是有原因的(历史),但这并不能让事情变得更好。

    新的.docx会更容易,尽管仍然有很多麻烦。但是,根据您的目标词版本,还有一些其他选项。

    首先,是经典的rtf。该格式仍然相当复杂,但有很好的文档记录,并且在许多应用程序和平台上都有很强的支持。您可以使用一些字符串替换到模板文件中,以使操作更简单(它是非二进制的)。

    然后是“旧”字的xml文件。我想他们是从xp开始工作的。有点像.docx的前身。我用过,不错。文档也很好。

    最后,我选择的简单方法是制作一个简单的html。从2000版开始,word可以很好地加载html文件。最简单的方法就是将html文件的扩展名改为.doc,就可以了。您还可以添加一些特定于单词的标记和注释,使其在word中看起来更好。使用单词的save as…html选项查看它们是什么。

        6
  •  1
  •   Chris Roberts    17 年前

    有第三方的图书馆会做这项工作。

    谷歌很快就想到了 this one ,例如。

    我没有试过,恐怕我不能给你具体的建议!

    告诉我们你是怎么过的…

        7
  •  1
  •   Jobi Joy    17 年前

    在Office2007中,Microsoft引入了一种新的文件格式,称为 Microsoft Open Office XML Format (DOX)。此格式与旧版本的Microsoft Word不兼容。由于这是XML,您可以在不安装Word的情况下创建或读取。

        8
  •  0
  •   Yaroslav Pentsarskyy    17 年前

    下面是基于自定义模板生成文档的组件。文档是从sharepoint列表生成的…因此,数据会从列表项中动态拉入文档中: http://store.sharemuch.com/products/generate-word-documents-from-sharepoint-list

    希望能帮上忙,

    雅罗斯拉夫·彭萨斯基 博客:www.sharemoty.com