微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在不安装MS Office并且不使用Interop库的情况下读取服务器中的MS Office文件?

互操作库很慢,需要安装MS Office。 很多时候你不想在服务器上安装MS Office。

我想使用Apache POI ,但我在.NET上。

我只需要提取文件的文本部分,而不是在Office文件中创build或“存储信息”。

我需要告诉你,我有一个非常大的文档库,我不能将其转换为较新的XML文件

如何在Windows窗体中暂停backgroundWorker

在WPF .NET Framework中使用自定义的任务pipe理器,如何防止进程重复?

用于.NET 4.0的Permcalc.exe

如何使用C#访问iOS应用程序的Documents文件

使用多个对象遍历foreach循环

我不想为二进制文件编写parsing器。 像Apache POI这样的库为我们做这个。 不幸的是,它只适用于Java平台。 也许我应该考虑用Java编写这个应用程序。

我仍然没有在.NET中findPOI的开源替代品,我想我会用Java编写自己的应用程序。

在VB.Net中从二进制文件提取string

使用CreateDirectory时奇怪的exception消息

扩展时重绘comboBox项目

检查用户是否具有Windows中文件的读取权限

.NET秒表类限制

对于所有MS Office版本:

您可以使用第三方组件,如TX Text Controls for Word和TMS Flexcel Studio for Excel

对于新办公室(2007年):

你可以使用system.io.packaging .net功能做一些基本的东西。 请参阅http://msdn.microsoft.com/en-us/library/bb332058.aspx

旧办公室(2007年以前):

现在记录旧的Office格式: http : //www.microsoft.com/interop/docs/officebinaryformats.mspx 。 如果你想做一些非常简单的事情,你可以考虑尝试一下。 但请注意,这些格式非常复杂。

检查Aspose组件 。 它们旨在模拟Interop功能,而不需要在服务器上进行完整的Office安装。

由于新的docx格式本质上是基于XML的文件,因此只要知道结构,就可以使用标准XML DOM技术以编程方式创建和操作它们。

这些文件基本上是带有备用文件扩展名的zip文件。 使用System.IO.Packaging命名空间访问文件的内部元素,然后将其打开到XmlDocument以执行操作。

有这样的例子可以做到这一点,而SourceForge上的Office Open XML项目可能值得寻找灵感。

至于旧的二进制格式,这些都是MS专有的,从内部获取内容的唯一方法是通过Office对象模型(需要安装Office)或第三方文件转换器/解析器。

不幸的是,没有任何第一方和本地.NET平台来处理这些文件

你需要做什么与这些文件? 如果你只是想把它们流到用户,那么基本的文件流就可以了。 如果您想创建新文件(可能基于模板)发送给用户用户可以在Office中打开,则有多种方法解决方法

如果您确实在Office文档中保存数据以供您的网站使用,那么您就错了。 Office文档,甚至是Excel电子表格和访问数据库,对于使用交互式网站来说都不是一个合适的选择。

如果文档采用word 2007格式,则可以使用system.io.packaging库以编程方式与其进行交互。

RWendi

在Java世界里,也有JExcelApi 。 这是非常清楚的写,从我所能看到的,更清洁的POI。 所以,即使是.NET代码的端口也不是没有问题的,当然你有足够的时间在你手上。

开发办公室。

你可以对它进行编程,让它为你做很多事情,而不用花钱购买服务器的许可证,或者在你的服务器上安装相关的漏洞。

Microsoft Excel工作簿可以使用ODBC驱动程序(或者它是OLE DB驱动程序?不记得)读取,使工作簿看起来像数据库表。 但是我不知道这个驱动程序是否可以在没有Office Suite的情况下使用。

你可以使用OpenOffice。 它有一个命令行转换工具:

转换指南

简而言之,你在OpenOffice中定义了一个宏,并用OpenOffice的命令行参数调用该宏。 在该参数中,本地文件(Office文件)的名称被编码。

这不是一个很好的解决办法,但它应该是可行的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐