Подтвердить что ты не робот

Экспорт служб отчетов в Excel с несколькими рабочими листами

В настоящее время я создаю отчет MS Reporting Services, который получает визуализацию. Я пытаюсь выяснить, как настроить отчет, чтобы он создавал несколько рабочих листов (вкладок) данных в отчете. Я понимаю, что ввод разрыва страницы в отчете дает вам новый лист, однако есть ли способ назвать каждую вкладку вместо нее по умолчанию (рабочий лист 1, рабочий лист 2) и т.д.

Кто-нибудь знает, как это делается?

Спасибо заранее!

4b9b3361

Ответ 1

Как @huttelihut указал, теперь это возможно с SQL Server 2008 R2 - Подробнее здесь

До 2008 R2 это не представляется возможным, но MSDN Social предлагает некоторые предлагаемые способы обхода.

Ответ 2

В последнее время для исходного вопросника, но с SQL Server 2008 R2 это возможно:

Задайте свойство "Pagebreak" в таблице или таблице или другом элементе, чтобы принудительно добавить новую вкладку, а затем установите свойство "Pagename" на обоих элементах до разрыва страницы и элемента после разрыва страницы. Эти имена появятся на вкладках, когда отчет будет экспортирован в Excel.

Читайте об этом здесь: http://technet.microsoft.com/en-us/library/dd255278.aspx

Ответ 3

Вот скриншоты для SQL Server 2008 R2, используя конструктор отчетов SSRS в Visual Studio 2010.

Я сделал скриншоты, так как некоторые из диалогов найти нелегко.

1: добавьте группу

SsrsAddGroup

2: укажите поле, которое хотите группировать

SsrsAddGroupDialog

3: Теперь нажмите на группу в селекторе "Группы строк", прямо под конструктором отчетов

SsrsRowGroupsSelector

4: F4 для выбора панели свойств; разверните "Группа" и установите Group > PageBreak > BreakLocation = "Между", затем введите выражение, которое вы хотите для Group > PageName

SsrsGroupProperty

5: Вот пример выражения

SsrsGroupPropertyDialog

Вот результат отчета, экспортированного в Excel, с вкладками, названными в соответствии с выражением PageName

SsrsExcelTabs

Ответ 4

Решение от Эдварда работало для меня.

Если вы хотите, чтобы весь tablix на одном листе с постоянным именем, укажите имя_папки в свойствах tablix. Если вы устанавливаете PageName в свойствах tablix, вы не можете использовать данные из набора данных tablix в своем выражении.

Если вы хотите, чтобы строки из таблицы были сгруппированы по листам (или вам нужен один лист с именем на основе данных), укажите имя_папки в заголовке группы.

Ответ 5

Я нашел простой способ обойти это в 2005 году. Вот мои шаги:

  • Создайте строковый параметр со значениями "Y" и "N", называемыми "PageBreaks".
  • Добавьте уровень группы выше группы (значение), которая была использована для разделения данных на несколько листов в Excel.
  • Вставляется в первое поле текстового поля для этой группы, выражение для 'PageBreaks как таковое...  =IIF(Parameters!PageBreaks.Value="Y",Fields!DISP_PROJECT.Value,"")  Примечание. Если параметр = Y, вы получите несколько листов для каждого другого значения.  В противном случае поле будет иметь значение NULL для каждой групповой записи (которая вызывает только один разрыв страницы в конце).
  • Измените скрытое значение видимости новой группы группировки на "Истина".
  • ПРИМЕЧАНИЕ. Когда вы это сделаете, он также определит, есть ли у вас разрыв страницы в представлении, но мои пользователи любят его, так как у них есть контроль.

Ответ 6

Поместите имя вкладки в заголовок страницы или группу TableRow1 в свой отчет, чтобы он отображался в позиции "A1" на каждом листе Excel. Затем запустите этот макрос в книге Excel.

Sub SelectSheet()
        For i = 1 To ThisWorkbook.Sheets.Count
        mysheet = "Sheet" & i
        On Error GoTo 10
        Sheets(mysheet).Select
        Set Target = Range("A1")
        If Target = "" Then Exit Sub
        On Error GoTo Badname
        ActiveSheet.Name = Left(Target, 31)
        GoTo 10
Badname:
        MsgBox "Please revise the entry in A1." & Chr(13) _
        & "It appears to contain one or more " & Chr(13) _
        & "illegal characters." & Chr(13)
        Range("A1").Activate
10
        Next i
End Sub

Ответ 7

Группируйте данные своего отчета в зависимости от категории, на которой вы хотите, чтобы ваши листы основывались. Укажите, что вы хотите, чтобы эта группа начала новую страницу для каждой новой категории. Каждая страница становится новой рабочей таблицей в книге Excel.

Примечание. Я использую SQL Server 2003 и Excel 2003.

Ответ 8

В группе нажмите F4 и найдите имя страницы, свойства и имя вашей страницы, это должно решить вашу проблему.