BUG回顾
正常的一个excel表格,在使用域用户打开不修改任何内容的情况下,直接保存,再使用其他用户打开,报以下错误:
原因分析
1.通过google可知,.xlsx文件的本质是一个zip包,可以使用7-zip等解压解压软件直接解压。
2.分别解压操作前和操作后的excel,对比/xl/workbook.xml的内容可知,区别在于中文的前后有没有单引号。
<definedName name="_xlnm._FilterDatabase" hidden="1" localSheetId="1">一些中文(中文)!$A$2:$X$2</definedName>
手动修复
1.根据比较,把中文前后加上单引号后的workbool.xml文件拖入excel中(excel用7-zip打开)
2.注意,不能使用压缩包重新zip压缩后改后缀名的方式(原因未知)。
3.再次打开,不报错。
推测原因
1.我的这个文件出错的两个地方都有中文括号,其他没有括号的地方没有问题。
2.引号有关的问题可能跟语言和字符编码有关。
原因确定
对比设置后发现,编辑语言设置在英文上(如下图),随后对比正常用户的设置,发现正常用户设置在中文上。一般遇到这个问题点一下设置位默认值就行了,但是此时我这里是域用户,并不能直接修改,需要修改注册表注册表路径为:
HKU\${sid}\SOFTWARE\Policies\Microsoft\office\14.0\common\languageresources\InstallLanguage
中文代码是:804,修改后,重启excel即可