为什么单元格格式直到第二次尝试才​​正确显示?

为什么单元格格式直到第二次尝试才​​正确显示?

我有一个由 SSRS 生成的 Excel 表,偶尔会出现奇怪的单元格格式问题。

顶层行(A 列中的第 1 行)以填充颜色突出显示,如下图所示。有时,在这些行中,该行的 C 列中的单元格会显示白色填充。

在此处输入图片描述

如果我右键单击该单元格并选择设置单元格格式...尽管显示为白色,但它显示正确的图案颜色。

如果我选择单元格并使用直接窗口来输出ThemeColorPattern它们都返回一个-4142不正确的值。

Debug.Print Selection.Interior.ThemeColor

现在,如果我设置单元格填充颜色,它不会改变任何内容,包括来自即时窗口测试的输出。

如果我第二次设置单元格填充颜色,它就会改变,并且一切都会按预期工作。

所以我有两个问题...

  1. 该单元格发生了什么,以至于它甚至不响应设置属性(第一次尝试)?是什么在控制它的状态?
  2. 它是从 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 文件并将原始文件与您已更正的文件进行比较。

要做到这一点

  1. 你提取文件夹中的每个元素
  2. 在带有 XML 工具的 Notepad++ 下,您可以格式化所有 XML 文件以将每个标签拆分在一行上
  3. 使用 WinMerge,您可以比较两个文件夹中的每个文件。

StyleId 可能会发生变化,这不利于比较。因此,您可能需要先保存文件而不添加任何更改,然后比较两个保存的文件。

通常情况下,我会添加一条评论,但我要写的太多了,而且使用答案来正确格式化大消息更容易:-)

相关内容