2013-01-04 10 views
7

Mam wymóg, aby raport SSRS 2005 był eksportowany jako plik CSV, w którym nagłówki kolumn zawierają spacje.Czy można eksportować do pliku CSV i czy nagłówek zawiera spacje?

Obecnie tytuły kolumn nagłówka CSV wywodzą się z nazw właściwości textBox i zawierają znaki podkreślenia zamiast spacji. Czy istnieje inne, lepsze podejście?

Na przykład, obecnie mam:

  • SSRS Report Header: Skuteczne Data
  • TextBox Nazwa: EFFECTIVE_DATE
  • CSV Header: EFFECTIVE_DATE

chciałbym posiadać:

  • Głowica raportu SSRS er: Skuteczne Data
  • TextBox Nazwa: EFFECTIVE_DATE
  • CSV Header: Data wejścia w życie
+0

Rozwiązano ten problem. Możesz znaleźć rozwiązanie pod tym linkiem http://stackoverflow.com/a/35406795/5929210 –

Odpowiedz

1

Istnieje rozwiązanie tego problemu. Musisz wybrać we właściwościach SSRS naciśnij F4, wybierz Właściwości, w tym zaznaczonym polu tekstowym, którego nazwę chcesz zmienić. Na przykład niech Textbox12 jako Effective_Date. Rozwiązanie: Zmień nazwę pola tekstowego na EffectiveDate.

1

Rozwiązałem ten problem samodzielnie, dostosowując wbudowane rozszerzenie renderowania CSV, aby użyć właściwości ToolTip w polu tekstowym jako nagłówku kolumny. Właściwość ToolTip zezwala na spacje i inne znaki interpunkcyjne, dzięki czemu możesz dowolnie nadawać nazwy kolumnom. Ma to również pozytywny efekt uboczny, dając ci odpowiednią wskazówkę, przypominając o tym, na którą kolumnę patrzysz w długim raporcie, gdzie nagłówek może nie być widoczny!

Uwaga: W projektancie należy ustawić etykietę narzędzia w polu tekstowym wiersza danych, a nie w polu tekstowym nagłówka.

Nie jest to łatwe, ponieważ wszystkie rozszerzenia renderowania są oznaczone jako zamknięte. Aby to zaimplementować, użyłem dekompilatora i wyodrębniłem cały kod związany z renderowaniem CSV do mojego własnego projektu. Następnie zmieniono wiersz, który zapisuje tekst nagłówka, aby odczytać go z właściwości ToolTip pola tekstowego.

W klasie o nazwie CsvColumnHeaderHandler szukasz sposobu OnTextBoxBegin aw szczególności linia:

this.m_visitor.WriteValue(textBox.DataElementName, this.m_excelMode); 

Wystarczy zmienić to czytać:

this.m_visitor.WriteValue(textBox.ToolTip, this.m_excelMode); 

Ten zwyczaj rozszerzenie renderowania może być następnie wdrożone na serwerze raportów i działa idealnie.

Nie musisz wiedzieć, jak napisać rozszerzenie renderowania, ponieważ, jak powiedziałem, właśnie skopiowałem (dekompilowałem) kod. Jednak trzeba będzie wiedzieć, jak wdrożyć niestandardowy zespół rozszerzenia renderowania. Więcej informacji na temat wdrażania można znaleźć tutaj: https://msdn.microsoft.com/en-us/library/ms154516.aspx

Powiązane problemy