我有一个由 SSRS 生成的 Excel 表,偶尔会出现奇怪的单元格格式问题。
顶层行(A 列中的第 1 行)以填充颜色突出显示,如下图所示。有时,在这些行中,该行的 C 列中的单元格会显示白色填充。
如果我右键单击该单元格并选择设置单元格格式...尽管显示为白色,但它显示正确的图案颜色。
如果我选择单元格并使用直接窗口来输出ThemeColor
或Pattern
它们都返回一个-4142
不正确的值。
Debug.Print Selection.Interior.ThemeColor
现在,如果我设置单元格填充颜色,它不会改变任何内容,包括来自即时窗口测试的输出。
如果我第二次设置单元格填充颜色,它就会改变,并且一切都会按预期工作。
所以我有两个问题...
- 该单元格发生了什么,以至于它甚至不响应设置属性(第一次尝试)?是什么在控制它的状态?
- 它是从 SSRS 还是 Excel 启动?
这里有一个文件链接托管于 NoFile.io
根据@Schlebe的建议,我将固定工作表与原始xml进行了比较。原始单元格和固定单元格之间的差异在于s值。
原来的:<c r="C125" s="5"/>
固定的:<c r="C125" s="4"/>
答案1
这似乎是一个错误。
尝试发布到https://social.msdn.microsoft.com/Forums/en-US/home?ppud=4
您当然必须给出更多解释或者提交您的 Excel 文件。
但是您的 SQL 服务器版本是什么?
您的 excel 文件类型是什么?xls 还是 xlsx?
如果是 xlsx,您可以尝试使用 7z 打开 Excel 文件并将原始文件与您已更正的文件进行比较。
要做到这一点
- 你提取文件夹中的每个元素
- 在带有 XML 工具的 Notepad++ 下,您可以格式化所有 XML 文件以将每个标签拆分在一行上
- 使用 WinMerge,您可以比较两个文件夹中的每个文件。
StyleId 可能会发生变化,这不利于比较。因此,您可能需要先保存文件而不添加任何更改,然后比较两个保存的文件。
通常情况下,我会添加一条评论,但我要写的太多了,而且使用答案来正确格式化大消息更容易:-)