SSRS 报告以从卷中打印标签
SSRS report to print labels from a roll
有没有人有创建打印成卷标签的报告的经验?
我可以看到很多关于 sheet 标签的例子,但没有关于卷的任何详细信息。
最好的方法是将报告页面设置为有 1 列,然后将页面大小调整为标签的大小吗?
每个标签上会有不同的信息,并且每次打印的标签数量也不同。
所以基本上设置报告以反映标签大小,然后根据需要打印的标签数量重复页面?
您应该能够将报告设置为与标签具有相同的页面大小,然后正常设计报告。
至于生成多个标签,您可以
- 有一个数据集,其中包含所有标签所需的所有信息,并按使每个标签唯一的任何内容(例如标签编号)进行分组。然后在行组 属性 上添加一个分页符以在每个行之间放置一个分页符,或者 ..
- 您可以创建一个仅处理单个标签的子报表,然后创建一个带有 table 控件和单个 'cell' 的主报表以及该单元格内的子报表。然后,您可以将参数从主数据集传递到子报表。我想你已经看到了我发布的关于打印标签页的类似答案,如果你遵循那个答案,那么它应该能帮助你完成大部分工作。
选项 1 可能是最简单的方法...
Step-by-Step 选项 1
在此示例中,我使用了 Microsoft 示例数据库 WideWorldImporters,这样我就可以获得一些名称和地址。
第 1 步:编写查询以获取数据。在我的示例中,我使用了以下内容..
SELECT top 10 o.OrderID, c.CustomerName, c.DeliveryAddressLine1, c.DeliveryAddressLine2, cty.CityName, c.DeliveryPostalCode
FROM [Sales].[Orders] o
JOIN Sales.Customers c on o.CustomerID = c.CustomerID
JOIN Application.Cities cty on c.DeliveryCityID = cty.CityID
ORDER BY OrderID
这只是给我订单号、公司名称和地址。
第 2 步:创建新报告。我使用的是 Visual Studio,但如果您使用它,则该过程在 Report Builder 中几乎相同。
- 创建一个新的空白报告
- 添加包含第 1 步查询的数据源和数据集
- Select 'body' 并将
size
属性 设置为您的标签大小。我用了100mm, 40mm
- Select 'report' 并将
PageSize
属性 设置为与上面相同的值,并将边距设置为 0
第 3 步:添加一个 table 来包含数据
- 添加新的table
- 删除 header 行
- 删除最后一列(我的示例中有两列标签,但显然取决于您)
- Select table (tablix) 使用灰色 table 句柄(table 的左上角),然后将数据集 属性 设置为您之前创建的数据集的名称
- 添加足够多的行来包含您的所有数据,在我的例子中总共有 6 行
- 在主报表设计下的行组面板中,right-click 详细信息行组并选择
Add Group => Parent Group
。 Select OrderID
作为要分组的字段,然后单击“确定”
- 删除新添加的列,如果出现提示,请选择 'remove column only'
- Right-Click
(OrderID)
行组并转到组属性,单击分页符并选择 'between'
- 将每一行设置为包含您的数据,直到您最终得到类似...
清理格式,应该就是这样。每页一个标签,每页设置为您的标签尺寸。
您可能需要稍微调整布局以调整边距等,但这应该会给您一个良好的开端。
有没有人有创建打印成卷标签的报告的经验?
我可以看到很多关于 sheet 标签的例子,但没有关于卷的任何详细信息。
最好的方法是将报告页面设置为有 1 列,然后将页面大小调整为标签的大小吗?
每个标签上会有不同的信息,并且每次打印的标签数量也不同。
所以基本上设置报告以反映标签大小,然后根据需要打印的标签数量重复页面?
您应该能够将报告设置为与标签具有相同的页面大小,然后正常设计报告。
至于生成多个标签,您可以
- 有一个数据集,其中包含所有标签所需的所有信息,并按使每个标签唯一的任何内容(例如标签编号)进行分组。然后在行组 属性 上添加一个分页符以在每个行之间放置一个分页符,或者 ..
- 您可以创建一个仅处理单个标签的子报表,然后创建一个带有 table 控件和单个 'cell' 的主报表以及该单元格内的子报表。然后,您可以将参数从主数据集传递到子报表。我想你已经看到了我发布的关于打印标签页的类似答案,如果你遵循那个答案,那么它应该能帮助你完成大部分工作。
选项 1 可能是最简单的方法... Step-by-Step 选项 1 在此示例中,我使用了 Microsoft 示例数据库 WideWorldImporters,这样我就可以获得一些名称和地址。
第 1 步:编写查询以获取数据。在我的示例中,我使用了以下内容..
SELECT top 10 o.OrderID, c.CustomerName, c.DeliveryAddressLine1, c.DeliveryAddressLine2, cty.CityName, c.DeliveryPostalCode
FROM [Sales].[Orders] o
JOIN Sales.Customers c on o.CustomerID = c.CustomerID
JOIN Application.Cities cty on c.DeliveryCityID = cty.CityID
ORDER BY OrderID
这只是给我订单号、公司名称和地址。
第 2 步:创建新报告。我使用的是 Visual Studio,但如果您使用它,则该过程在 Report Builder 中几乎相同。
- 创建一个新的空白报告
- 添加包含第 1 步查询的数据源和数据集
- Select 'body' 并将
size
属性 设置为您的标签大小。我用了100mm, 40mm - Select 'report' 并将
PageSize
属性 设置为与上面相同的值,并将边距设置为 0
第 3 步:添加一个 table 来包含数据
- 添加新的table
- 删除 header 行
- 删除最后一列(我的示例中有两列标签,但显然取决于您)
- Select table (tablix) 使用灰色 table 句柄(table 的左上角),然后将数据集 属性 设置为您之前创建的数据集的名称
- 添加足够多的行来包含您的所有数据,在我的例子中总共有 6 行
- 在主报表设计下的行组面板中,right-click 详细信息行组并选择
Add Group => Parent Group
。 SelectOrderID
作为要分组的字段,然后单击“确定” - 删除新添加的列,如果出现提示,请选择 'remove column only'
- Right-Click
(OrderID)
行组并转到组属性,单击分页符并选择 'between' - 将每一行设置为包含您的数据,直到您最终得到类似...
清理格式,应该就是这样。每页一个标签,每页设置为您的标签尺寸。
您可能需要稍微调整布局以调整边距等,但这应该会给您一个良好的开端。