我的Office PIA之路(一) Microsoft.Office.Interop.Excel.dll 的获取

    最近有一个项目,是要用程序把学校里一个年级的学籍信息经过处理合成一个表,小学共六个年级,生成六张表,而且是*.xls文件,通过查找资料我决定使用Office PIA来试试。我最开始查到我资料是说要在Add Referrence里加入Microsoft.Office.Interop.Excel,不过这样一来程序的移植性就差了,没有安装PIA对应版本的电脑上就没法儿运行了。于是我做出了一个艰难的决定,把Microsoft.Office.Interop.Excel.dll导出来。可是各家有各家的说法,偶然从http://support.microsoft.com/kb/897646页面发现安装了O2003pia.exe即2003版的PIA安装包后就可以得到独立的Microsoft.Office.Interop.Excel.dll文件,放在项目文件夹中可以提高移植性于是从http://www.microsoft.com/en-us/download/details.aspx?id=3508找来2010版的PIA安装了,但是安装完成之后却不知道在哪儿找Microsoft.Office.Interop.Excel.dll于是使用Everything进行进行全盘搜索,结果如下:我的Office PIA之路(一) Microsoft.Office.Interop.Excel.dll 的获取_第1张图片

    一不作,二不休,马上到文件夹里去找,结果却是这个样子:


    不能复制,看不懂的说,我灵机一动想出了在DOS里copy命令复制一个哈哈,结果还真成功了:

我的Office PIA之路(一) Microsoft.Office.Interop.Excel.dll 的获取_第2张图片

    哈哈哈哈,成功了!!!看来这个方法还可行。哎呀,感触颇深呀,Windows再怎么发展也不能忘了DOS呀!

    不过后来,我就发现我好傻哦,有两种更好的方法出现在我面前,有一种办法就是在 Visual Studio 里的 Solution Explorer 中展开当前的Project,在Reference目录里选择Microsoft.Office.Interop.Excel,然后在Properties面板里再看,可以将Copy Local设为True,这样当程序编译的时候,就会将引用的Microsoft.Office.Interoop.Excel.dll复制到程序目录中去,没有安装PIA的电脑就可以通过这个复制出来的DLL来运行了。不过DLL文件很大,我们又不是会用到其中所有的功能。于是我们又有另一个办法,就是将Properties面板中Embed Interop Types设为True,这样就会将所用到的代码嵌入到程序当中,而不用引用一整个的DLL文件,可以大大减小项目体积,当然,Embed Interop Types高为True以后,Copy Local选项就会自动设为False并且处于不可修改状态了,因为已经嵌入的代码,就没有必要再复制整个的DLL了。

  



你可能感兴趣的:(Excel,dos,Everything,PIA,Interop)