- ·上一篇教育:excel表格重复引用不汇总怎么办
- ·下一篇教育:程序数据怎么导入excel表格模板
怎么判断是否安装excel表格软件
1.如何判断有没有安装Excel程序 delphi
try
ExcelApp:=CreateOleObject('Excel.Application');
MyWorkBook:=CreateOleobject('Excel.Sheet');
except
application.Messagebox('无法打开Xls文件,请确认已 经安装EXCEL.','',
mb_OK+mb_IconStop);
Exit;
end;
-----------------------
不用异常可以判断注册表, 查有没有excel 具体哪个键就不用我说了吧, 你打开注册表自己搜一下就知道了
2.C# 判断本机是否安装Excel详解
方法一:异常判断发(根据返回结果形式)
// 使用地方
private void buttonOk_Click(object sender, EventArgs e){if (()){MessageBox.Show("本机已安装Excel文件");}else{MessageBox.Show("当前系统没有发现可执行的Excel文件, 如需使用Excel功能请先安装office 2003", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);}}//判断本机是否安装Excel文件方法
private bool (){Type type = Type.GetTypeFromProgID("Excel.Application");
return type != null;}方法二:注册表检查发
判断注册表里有没有SOFTWARE\\Microsoft\\Office\\12.0\\Word\\InstallRoot\\Excel.exe 其中12.0 11.0需要同时判断,因为11.0是office 2003 12.0是office 2007
// 使用地方
private void buttonOk_Click(object sender, EventArgs e){if (ExistsRegedit()){MessageBox.Show("本机已安装Excel文件");}else{MessageBox.Show("当前系统没有发现可执行的Excel文件, 如需使用Excel功能请先安装office 2003", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);}}/// <summary
/// Self_Variable:查询注册表某个键值是否存在
/// </summary
/// <returns</returns
public bool ExistsRegedit(){bool ifused = false;
RegistryKey rk = Registry.LocalMachine;
RegistryKey akey = rk.OpenSubKey(@"SOFTWARE\\Microsoft\\Office\\11.0\\Word\\InstallRoot\\");
RegistryKey akeytwo = rk.OpenSubKey(@"SOFTWARE\\Microsoft\\Office\\12.0\\Word\\InstallRoot\\");
//检查本机是否安装Office2003
if (akey != null){string file03 = akey.GetValue("Path").ToString();
if (File.Exists(file03 + "Excel.exe")){ifused = true;}}//检查本机是否安装Office2007
if (akeytwo != null){string file07 = akeytwo.GetValue("Path").ToString();
if (File.Exists(file07 + "Excel.exe")){ifused = true;}}return ifused;}提示: 方法一:本人觉得方法一比较简单,方法一已经测试过。方法二:是遍历注册表的方法,比较麻烦,上面的例子已经经过测试,如问题,查看注册表,在进行适当的内容调整(一般没问题)