用C#编写excel线程 [英] threading excel write with c#

查看:118
本文介绍了用C#编写excel线程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我想知道如何确定目标PC上是否安装了32位或64位Ace OLEDB驱动程序,然后定制我的程序的32位或64位版本,从而用OLEDB编写出出色的表现.

当前在具有64位ACE的64位办公室上,我需要将Visual Studio中的配置从x86更改为x64,反之亦然.

是否有任何方法可以检测32/64位安装,您是否需要在安装项目中编写脚本,还是可以动态编写代码以更改32/64版本?

谢谢,

Jase

Hi,

I would like to know how to determine if the Ace OLEDB Driver is 32 or 64bit installed on the target PC and then tailor the 32 or 64 bit build of my program which writes to excel with OLEDB.

Currently on 64 bit office with 64bit ACE I need to change the configuration in visual studio from x86 to x64 and vice versa.

Is there any method to detect 32/64bit installation and do you need in the setup project to write a script or can you dynamically write code to alter the 32/64 build that way.

Thanks,

Jase

推荐答案

如果将应用编译为目标任何CPU",它将在32位proc上运行32位,在64位上运行64位procs.

如果将应用程序编译为以"x86"为目标,则无论运行什么操作系统,它都将仅运行32位.

但是,如果您编译"Any CPU",则由于无法在同一进程中合并32位和64位代码,因此检查安装内容是毫无意义的.但是,您应该检查代码以什么位数运行.通过检查IntPtr的大小,这很容易做到.如果您的代码运行的是32位,则为4字节宽;如果是64位的,则为8字节.那么它只是使用正确的连接字符串.

同样,您无需检查安装了什么Office或驱动程序,而无需检查代码的运行方式.
If you compile your app to target "Any CPU" it''ll run 32-bit on 32-bit procs and 64-bit on 64-bit procs.

If you compile your app to target "x86", it''ll run 32-bit only no matter what O/S it''s running on.

But, if you compile "Any CPU", since you can''t combine 32- and 64-bit code in the same process it''s kind of pointless to check to see what''s installed. You should, though, be checking to see what bitness your code is running as. That''s easy enough to do by checking the sizeof an IntPtr. It''ll be 4 bytes wide if your code is running 32-bit and 8 bytes if 64-bit. Then it''s just using the correct connection string.

Again, you don''t check what Office or driver is installed, you check what your code is running as.


这篇关于用C#编写excel线程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆