在没有安装Office的计算机上使用Excel组件

作者: harde 分类: DotNet 发布时间: 2011-05-07 11:11

做了个小项目,需要导出Excel,问题不大~ 添加Excel引用~ 很容易就做到了~
不过有个问题,如果目标计算机没有安装Office,那么程序将抛出异常~ 虽然按理说使用这个功能就应该有Office,不过作为严谨的程序员~ 就应该考虑到这个问题~

让客户安装Office?不是吧太小题大作了….

跟我来
首先如果你是用VS2008开发请进入cmd,切换到如下目录
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin
如果是Vs2005,请进入这个
X(都懂~):\Microsoft Visual Studio 8\SDK\v2.0\Bin\

进入你Office的安装文件夹,把Excel.exe复制到上述文件夹
比如我的就是在C:\Program Files\Microsoft Office\Office14中

然后在cmd中执行TlbImp /out:Interop.Excel.dll Excel.exe
如果看到类似如下提示就说明成功了
[cmd collapse=”true”]
Microsoft (R) .NET Framework Type Library to Assembly Converter 3.5.30729.1
Copyright (C) Microsoft Corporation. All rights reserved.

TlbImp : warning TI0000 : Primary interop assembly ‘Microsoft.Office.Interop.Ex
el, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C’ is alre
dy registered for type library ‘C:\Program Files\Microsoft SDKs\Windows\v6.0A\B
n\Excel.exe’.
Type library imported to C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\Inte
op.Excel.dll
[/cmd]
把生成的Interop.Excel.dll考出来,在项目中引用就OK啦~

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

2 条评论
  • Richeir

    2014-01-02 下午 5:47

    我尝试了很多次,都不行…我电脑上的Office版本是2013的,对应COM版本是15
    求大神解救..项目中引用还是在其它机器上跑不了..

    1. harde

      2014-01-05 上午 11:47

      这篇文章写在2011年,这个方法我不再推荐,建议在目标机器部署AccessDatabaseEngine,官方推荐,安全可靠。

      包含了 Microsoft Office Access 2010(*.mdb 和 *.accdb)文件和 Microsoft Office Excel 2010(*.xls、*.xlsx 和 *.xlsb)文件)与其他数据源(例如 Microsoft SQL Server)之间传输数据。还支持与现有文本文件建立连接。 此外,还会安装 ODBC 和 OLEDB 驱动程序,供应用程序开发人员在开发与 Office 文件格式连接的应用程序时使用。

      Microsoft Access 2010 数据库引擎可再发行程序包
      http://www.microsoft.com/zh-cn/download/details.aspx?id=13255

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注