asp.net中怎样检查电脑上所安装Excel的版,如Excel2003/Excel2007/Excel2010???
我是想打开一个页面,就弹出一个提示框,要另存为excel,但是有时候计算机上装的excel版本不一样,所以输出的表头也不一样。有没有办法动态的检测出。。??下面是我在网上找的,不过报错阿。。
public string GetOfficePath()
{
string strVersionResult = "没有安装Office";
string path = "";
Microsoft.Win32.RegistryKey regKey = null;
Microsoft.Win32.RegistryKey regSubKey = null;
try
{
regKey = Microsoft.Win32.Registry.LocalMachine;
for (int i = 8; i < 14; i++)
{
regSubKey = regKey.OpenSubKey(@"SOFTWARE\Microsoft\Office\" + i + @".0\Common\InstallRoot", false);
path = regSubKey.GetValue("Path").ToString();
if (regSubKey != null)
{
if (System.IO.File.Exists(path + "Excel.exe"))
{
switch (i)
{
case 8: return "office2000";
case 9: return "officeXP";
case 10: return "office2003";
case 11: return "office2007";
case 12: return "office2010";
}
}
}
}
}
catch(Exception ex)
{
throw new Exception("读取注册表出错!", ex);
}
return strVersionResult;
}
path = regSubKey.GetValue("Path").ToString();这里出错了。。
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
高手们有没有另外好的办法阿,在线等。。 Excel C# --------------------编程问答-------------------- 不可以实现,你找的代码即便可以工作,判断的也是服务器端的。
出于安全的限制,浏览器不允许服务器程序访问客户端的文件系统和注册表。再说,通过浏览器访问你网站的不一定是装有Windows的PC,还可能是Linux、Mac OS甚至是装有iOS和Android的平板、手机、电视终端,这些设备哪有注册表呢? --------------------编程问答--------------------
那有没有别的办法实现。。?? --------------------编程问答--------------------
做一个ActiveX插件,但是这需要用户部署这个插件,并且只有Windows系统和兼容ActiveX的浏览器(比如IE)可以支持。 --------------------编程问答--------------------
晕。。这么复杂阿。。而且还必须是IE,郁闷了。。
补充:.NET技术 , ASP.NET