在SSRS中,是否有一种方法可以在单元格之间复制格式?

12

我正在开发几十个SSRS 2008 R2报告。 我发现单元格格式化是任务中最繁琐且容易出错的部分。 我知道如何逐个格式化每个单元格。

是否有一种方法可以将一个单元格的格式复制到许多其他单元格?

我想避免在XML中进行搜索和替换,但我也可以接受它。 我的数据集查询是参数化MDX。

是否可能一次对整个列进行格式化?或者你总是必须对列中的每个文本框进行格式化? 是否有一种方法指定每个文本框的默认格式?

6个回答

19

假设您右键单击每个文本框并使用 TextBox属性 来编辑格式选项:

如果您转到BIDS中的视图菜单并选择属性窗口,则可以一次访问每个对象的所有属性(在我的BIDS中,它显示在右侧的解决方案资源管理器下方)。

BIDS SSRS Properties Window

假设您在此处讨论报表中的一个Tablix控件,则可以通过单击列标题并在属性窗口中编辑格式选项来格式化整个列。

当涉及到4或5个单元格但不是整个列/行时,您可以进行Shift-点击以允许您一次性格式化多个单元格。

即单击单元格1,按住Shift键,然后单击单元格4。 然后,属性窗口将让您编辑所选范围内的所有单元格。


你知道类似于百分比保留两位小数或者数字保留0位小数使用逗号分隔符的格式代码吗? - gnackenson
是的,您可以使用内置的.NET标准或自定义格式字符串:http://msdn.microsoft.com/en-us/library/dwhawy9k(VS.95).aspx和http://msdn.microsoft.com/en-us/library/0c899ak8(VS.95).aspx。只需将相关的格式字符串输入到属性窗口中的格式框中即可。 - GShenanigan

2
我的解决方案是先选择表格中我想要更改的所有单元格,然后点击“查看”以显示“属性”框。在“属性”框下面,在“数字”部分更改“格式”。这样就可以按照我想要的重新格式化所有单元格。
需要注意的是,我必须从已经更改的某个单元格中复制所需的格式。

这不允许您对货币格式等内容进行更改。 - Asher

2
基于GShenanigan的回答,这取决于你对格式化的理解。如果是像颜色、字体等方面的内容,那么你可以定义一个变量,将其设置为所需的值,然后将单元格的属性值设置为该变量的值。例如,假设您要将所有单元格的字体设置为Courier New。您可以定义一个名为“Font”的变量,将其设置为“Courier New”,然后使用表达式为每个需要使用此字体的单元格设置其值。然后,当要求更改并且所有这些单元格现在都需要使用Arial时,您只需在一个地方(变量)进行更改,所有格式都会更改。

2

步骤: 1. 用所需的格式设置一个文本框。 2. 选择该单元格并检查其属性窗口,在“格式”区域中您将看到一些代码。 3. 复制它,选择其他要使用相同格式进行格式化的文本框。 4. 将复制的值粘贴到这些新选择的文本框的格式区域中。 5. 完成。


1

选择要更改的单元格并使用报表格式化工具栏设置字体。在属性侧面板上不允许输入且在上下文菜单中禁用属性选项后,这对我起作用了。


0

您可以根据格式化所需的条件来格式化列或行。

让我们看看不同的情况(假设您正在使用Visual Studio / BIDS:

  • 如果所有列或行都使用类似的格式化条件,则可以选择整个行或列 => 转到属性窗口 => 为格式化编写表达式
  • 如果某些列需要使用相似的格式化条件,则可以使用控制键并单击这些列来选择这些列,并按照上述说明应用格式化
  • 如果每个单元格的格式基于单独的条件(例如,您评估该单元格中的数据以格式化该单元格),则可以格式化特定单元格或编写外部脚本代码。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接