Delphi Seattle下64位Excel类型库未显示的导入方法问询
我之前折腾过64位Office和Delphi Seattle搭配的类型库导入问题,给你几个亲测有效的解决办法:
1. 先切换Delphi的目标平台到64位
Delphi Seattle默认启动的是32位开发环境,而64位Office的类型库是注册在64位注册表分支里的——32位程序访问64位注册表会被系统重定向,所以你找不到Excel的类型库。
- 打开Delphi后,在工具栏的目标平台下拉菜单里选
64-bit Windows - 重新打开「导入类型库」对话框,这时候再搜索“Excel”,应该就能看到
Microsoft Excel 16.0 Object Library(对应Office 2016)了
2. 手动定位Excel的类型库文件
如果切换平台后还是找不到,直接手动找Excel的程序文件就行——64位Office 2016的Excel类型库就嵌在EXE里:
- 路径一般是
C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE(Click-to-Run安装版),或者C:\Program Files\Microsoft Office\Office16\EXCEL.EXE(本地安装版) - 在「导入类型库」对话框点「浏览」,直接选这个EXE文件,Delphi会自动提取类型库并生成
Excel_TLB.pas
3. 修复Office类型库的注册
要是上面的方法都不行,可能是Office的类型库没正确注册。用管理员权限打开CMD,执行命令:regsvr32 "C:\Program Files\Microsoft Office\Office16\EXCEL.EXE"
(如果是Click-to-Run版本,把路径换成带root的那个)
注册完成后再回到Delphi重试导入。
4. 清除Delphi的类型库缓存
有时候Delphi会缓存旧的类型库信息,导致新的64位库不显示:
- 彻底关闭Delphi
- 删除
C:\Users\<你的用户名>\AppData\Roaming\Embarcadero\BDS\10.0\Type Library Cache下的所有文件 - 重启Delphi后再尝试导入
最后提个醒:生成Excel_TLB.pas后,记得把它添加到你的项目里,而且项目的目标平台要保持64位,不然后续运行时容易出现兼容性问题。
内容的提问来源于stack exchange,提问作者user1009073
相关产品推荐
相关产品推荐

