Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 用于生成文档的Office互操作的替代方案_Asp.net_Ms Office_Office Interop - Fatal编程技术网

Asp.net 用于生成文档的Office互操作的替代方案

Asp.net 用于生成文档的Office互操作的替代方案,asp.net,ms-office,office-interop,Asp.net,Ms Office,Office Interop,目前,我们正在使用office interop从office 2003中的模板(word、excel和powerpoint)生成文档。这似乎是相当不赞成(见),虽然它的工作很好,我会更高兴与支持的解决方案 有什么非黑客方法可以做到这一点?要求是 仅限Office 2003。(不允许使用office xml/office 2007兼容包) 必须从ASP.NET运行服务器端 必须能够从用户提供的.dot、.xlt和.pot模板创建Word、Excel和Powerpoint文档 必须能够通过在某些位置

目前,我们正在使用office interop从office 2003中的模板(word、excel和powerpoint)生成文档。这似乎是相当不赞成(见),虽然它的工作很好,我会更高兴与支持的解决方案

有什么非黑客方法可以做到这一点?要求是

  • 仅限Office 2003。(不允许使用office xml/office 2007兼容包)
  • 必须从ASP.NET运行服务器端
  • 必须能够从用户提供的.dot、.xlt和.pot模板创建Word、Excel和Powerpoint文档
  • 必须能够通过在某些位置(如姓名、地址等)替换某些文本来进一步定制文档
  • 免费或非常低的成本。我不能提出购买订单来取代一个工作系统,因为某个网站上有四个人认为这是一个肮脏的黑客行为;)
    我不确定有没有更好的办法。是否有?

    如果您有SQL Server,您可以查看在.NET和Java中有许多用于生成Word、Excel和Powerpoint文档的组件

    您应该看看从中提供的产品。有许多不同的文件格式组件,允许您创建和操作PDF和Microsoft Office文档,而无需在服务器上安装Office:

    具有一些可以读写Word和Excel文档的类似组件:

    可以处理Excel文件生成。我们专注于电子表格,因此不需要生成Word或PowerPoint

    您可以查看ASP.NET示例并下载免费试用版


    免责声明:我拥有SpreadsheetGear LLC

    我们这样做的一种方法是创建您的文档模板,并将其保存为word、excel或ppt文档,但格式为文档保留为人类可读文本。因此,对于Word和Excel,另存为mht

    然后,您可以将模板作为字符串读取,并使用良好的老式字符串处理功能(替换占位符文本,添加行,无论您需要做什么),然后将该字符串保存为.doc、.xls或.ppt(由哪个程序创建)文件,它应该在应用程序中作为文档打开,并且所有格式都保持不变

    一个技巧是,在Word中保存模板后,必须在文本编辑器中检查模板。Word会不分青红皂白地添加换行符,因此它可能会换行您的占位符或在占位符中放置其他格式,您可能需要清理这些占位符。

    看看OWC(office web components),它们是专为您想要做的事情而设计的

    我不知道他们是否可以使用模板,因为我使用它们已经很长时间了,但我们通常会动态生成电子表格,然后将其二进制写入响应流以在浏览器中显示


    我不确定它们是否能完全满足您的要求,但至少作为一个开始值得研究。

    我刚刚发布了这篇文章,作为对另一个关于自动化办公的问题的回答,但我认为这也是对这个问题的一个合适回答(特别是因为您正在寻找免费或低成本的解决方案)

    我在web服务中通过互操作使用Microsoft Excel、Word和PowerPoint将Office文档打印为PDF格式时遇到了无数问题(性能差、挂起进程、进程崩溃等)。我也遇到过一些问题,我怀疑这些问题是由于不可见的对话框造成的(可能是文件已损坏、已设置只读建议、文件受密码保护等等)

    我知道有不使用Office的,但它们非常昂贵。我的解决方案是切换到自动化OpenOffice。OpenOffice似乎更加稳定,我已经将挂起的流程等抛在脑后

    所以,虽然我想我说的是“不要自动化Microsoft Office”,但我并不是建议你完全放弃自动化;只是我在自动化OpenOffice方面比Microsoft Office成功得多。

    看看
    我用它来创建excel文档。也支持ppt和word。

    失败,无法创建真正的office文件。我曾用office 2003 XML尝试过这一点,但我发现它经常在多个XML标记之间毫无明显原因地放置句子,这让模板制作非常困难。恐怕没有免费的午餐。你必须付出一些代价——实际的金钱、发展努力、稳定。。。你必须选择你的毒药在这种情况下,我们似乎正在使用最好的工具来完成这项工作,然后在免费午餐和牛排晚餐之间有一个很大的范围,虾和龙虾塞满了金粉,这就是我将如何描述Aspose的定价。失败,同样的限制,似乎停止了OfficeWriter链接不起作用。不管他们的价格是多少,价目表是空的。。。这和阿斯波塞一样荒谬吗?不管怎样,我喜欢图书馆,它们更便宜。