更改Excel相关注册表

  • 更改Excel相关注册表
  • 有注册表目录
  • 无注册表目录


更改Excel相关注册表

使用WPF开发了一个桌面端软件,使用Microsoft官方的Office.dll实现导出Excel报告的功能。但部分用户因为各种原因,如重复安装/卸载WPF和Office,导致相关注册表混乱,使软件无法正常导出Excel报告。经过排查找到手动更改注册表方法。

有注册表目录

  1. 使用快捷键“win”+“R”打开对话框
  2. 在弹出的对话框中输入“regedit”打开
  3. 在“注册表编辑器”中按以下顺序打开相应的注册表信息:“计算器”->“HKEY_CLASSES_ROOT”->“TypeLib”->“{00020813-0000-0000-C000-000000000046}”。
  4. 双击打开“{00020813-0000-0000-C000-000000000046}”,如下图。正常情况下,安装的Office 2013的电脑,下一级会显示为“1.8”。若您的电脑中没有显示“1.8”,则请您在电脑中所显示的其它版本下同样进行下列操作,将对应的信息反馈给我。若您的电脑在在该级目录下没有任何值,甚至没有“{00020813-0000-0000-C000-000000000046}”目录,则您可参考后文中关于手动创建相关目录的操作。
  5. 请单击选中1.8,查看右侧的具体信息,是否如下表所示:

名称

类型

数据

默认

REG_SZ

Microsoft Excel 15.0 Object Library

PrimaryInteropAssemblyName

REG_SZ

Microsoft.Office.Interop.Excel, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C

PS:因我这边电脑是office2007,所以图片中显示的是1.6,数据对应的版本号为12.0

docket注册表镜像更换_Office


6. 选中“1.8”之下的“0”->“win32”或“win64”,可在右侧查看到对应的Excel的程序的所在目录。一般安装在Program file(x86)目录下为win32,安装在Program file目录下为win64。选中“1.8”下的“HELPDIR”,右侧也显示为Excel 的安装目录。如下图所示:

docket注册表镜像更换_docket注册表镜像更换_02

无注册表目录

  1. 正常情况下,对应信息所在目录层级如下:“计算机”->“HKEY_CLASSES_ROOT”->“TypeLib”->“{00020813-0000-0000-C000-000000000046}”->“1.8”。其中前三级在电脑中一定存在,“{00020813-0000-0000-C000-000000000046}”因电脑故障可能不存在,“1.8”未正确安装相应版本excel会不存在。对于不存在的目录,可鼠标选中上级目录,然后点击鼠标右键,选择“新建”->“项”,然后填入与上述目录相同的名称即可。从2步开始,以新建“1.8”为例,详细阐述新建的步骤。
  2. 新建“1.8”后,选中“1.8”,右键新建“字符串值”,然后在右侧对应新建的数据中填写“PrimaryInteropAssemblyName”。如下图:
  3. docket注册表镜像更换_右键_03

  4. 然后选中右侧区域中的“默认”,右键选择“修改”。在“数值数据”中填入“Microsoft Excel 15.0 Object Library”,点击“确认”。如下图:
  5. docket注册表镜像更换_右键_04

  6. 选中“PrimaryInteropAssemblyName”,右键选择修改。在“数值数据”中填入“Microsoft.Office.Interop.Excel, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C”,点击“确认”。如下图所示:
  7. docket注册表镜像更换_docket注册表镜像更换_05

  8. 然后重新选中“1.8”,右键新建“项”,“项”名称为“0”。选中“0”,右键新建“项”,“项”名称为“win32”或“win64”。具体名称根据Excel所在目录确定,在Program file(x86)目录下为win32,在Program file目录下为win64。
  9. docket注册表镜像更换_windows_06

  10. 然后选中“win32”或“win64”,选择右侧“默认”,右键修改。填写“数值数据”为Office安装时程序Excel.exe所在路径,如下图:
  11. docket注册表镜像更换_Office_07

  12. 之后在“1.8”中新建项“FLAGS”和“HELPDIR”。其中“FLAGS”默认数值数据设置为“0”;“HELPDIR”设置默认数值数据为Office安装时程序Excel.exe所在路径。如下图
  13. docket注册表镜像更换_右键_08