Именование листов с использованием Asp.net SSRS 2008 (RDLC) для экспорта в Excel

Я работаю над приложением VS 2008 asp.net webforms, в котором он содержит существующий RDLC (файл клиента и НЕ файл стороны сервера RDL ).

Проблема заключается в экспорте в excel, все листы не указаны должным образом, то есть Sheet1, Sheet2 и т. Д. Я нашел много примеров при экспорте данных в функции SQL Server 2008 R2 RDL, однако мне нужен < strong> RDLC ?

Кто-нибудь знает, как «исправить» это или сделать какую-то почтовую обработку, чтобы переименовать вкладки, чтобы клиент не заканчивал видеть Sheet1, Sheet2, Sheet3 и т. Д.?

  1. Приложение выбирает путь к файлу RDLC
  2. Добавляет DataSource
  3. Выбирает xls
  4. Все ответы

Я вижу эту ссылку Stackoverflow Как получить названные листы excel в то время как экспорт из SSRS :

  1. Невозможно выполнить макрос
  2. Невозможно выполнить экспорт как SSML
  3. Я НЕ использую SSRS RDL/SQL Server 2008 R2 , поэтому другие ответы вводят в заблуждение для людей, использующих RDLC
1
nl ja de
Любой, кто сталкивается с NPOI или Microsoft.Office.Interop.Excel? Кажется, это разумные решения для интеграции.
добавлено автор Tom Stickel, источник
500 баллов за авторитетные ответы. благодаря
добавлено автор Tom Stickel, источник

3 ответы

Переименование листа не поддерживается версией отчета RDLC. Я предполагаю, что вы не можете обновить. Итак, вот работа: Сохраните отчет в файл как обычно. Затем откройте его снова, используя Microsoft.Office.Interop.Excel или любую другую библиотеку Excel, чтобы переименовать листы. Как только вы сделаете это, сохраните, и все готово.

using Excel = Microsoft.Office.Interop.Excel; 


Excel.ApplicationClass xl=new Excel.ApplicationClass();
    Excel.Workbook xlBook;
    Excel.Worksheet xlSheet;
    string filePath = Server.MapPath(@"\report.xls");
    xlBook = (Workbook)xl.Workbooks.Open(filePath,Type.Missing,
      Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing
     ,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing);
    xlSheet = (Worksheet)xlBook.Worksheets.get_Item(1);
    xlSheet.Name = "New Sheet Name";
    xlBook.Save();
    xl.Application.Workbooks.Close();

Список различных библиотек, которые вы можете использовать, если этот не работает для вас: бесплатные библиотеки  1. Закрыть библиотеку xml - http://closedxml.codeplex.com/documentation  2. Open xml SDK - http://msdn.microsoft.com/en-us /library/bb448854.aspx  3. NOPI - http://npoi.codeplex.com/  4. CarlosAG - http://www.carlosag.net/Tools/ExcelXmlWriter/

Платные библиотеки  5. Механизм электронных таблиц  6. Smart XLS  7. Офисный писатель  8. Шпиль

2
добавлено
Я попытался обойти ошибки доступа к COM, но потом он «Не удалось найти файл» ... или другие проблемы, такие как блокировка (даже если Excel закрыт).
добавлено автор Tom Stickel, источник
@lcarter Пожалуйста, помогите прояснить некоторые вещи, чтобы получить разрешения, поскольку я не получил его на работу. Я вижу, что некоторые люди используют Interop on и другие NPOI.
добавлено автор Tom Stickel, источник
Спасибо, это то, что я искал в конце концов ... с вмешательством. Желание было проще настроить, так как у многих людей есть проблема с SHEET1 и т. Д.
добавлено автор Tom Stickel, источник
Поэтому я перешел на использование бесплатной библиотеки NPOI, она отлично работает npoi.codeplex.com
добавлено автор Tom Stickel, источник
1
добавлено
Извините, не пытаясь атаковать вас, однако я прямо сказал «2. Не могу сделать экспорт как SSML», но вы покажете URL-адрес добавлено автор Tom Stickel, источник
@BradLarson Я ищу авторитетные и профессиональные ответы. Если ответ явно непрофессиональный и просто быстрый поиск Google, то это НЕ полезно.
добавлено автор Tom Stickel, источник
@TomStickel - Пожалуйста, не оскорбляйте людей, которые пытаются вам помочь. Ваши комментарии были совершенно оскорбительными, и я их удалил. Это не способ побудить людей ответить на ваш вопрос.
добавлено автор Brad Larson, источник
Если вы знаете, что есть другие способы сделать это, используйте их. Откуда вы знаете, что я не опытный профессионал, и лучший способ показать это со ссылками выше? Если бы я написал свой собственный ответ, похожий на вышеизложенный или извергнутый в Интернете, это было бы менее профессионально, поскольку не было дано никаких доказательств и его просто слова.
добавлено автор glh, источник
Я повторяю свой профессиональный ответ, вы не сможете его обновить до RDL.
добавлено автор glh, источник

Я бы обновился до схемы RDL 2010 - он поддерживает Excel Named Sheets (среди других полезных улучшений):

http://msdn.microsoft.com/en-us/library/ee960138.aspx

0
добавлено
Я не сделал это лично. Обычно для обновления файла отчета вы просто открываете его в Report Designer (VS).
добавлено автор Mike Honey, источник
DotNetRuChat
DotNetRuChat
2 992 участник(ов)

Чат русскоязычного .NET сообщества http://dotnet.ru/ Вам могут быть интересны: @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @xamarin_russia, @microsoftstackjobs, @uwp_ru Флуд в @dotnettalks

Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

pro.net
pro.net
710 участник(ов)

Обсуждение .NET Framework и всего, что с ним связано. Правила: не флудить не по теме, уважать ваших коллег и никакой рекламы (объявления о вакансиях можно согласовать с @AlexFails). Флудилка: @dotnettalks Участник @proDOT

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot

.NET Talks: Force Push Masters
.NET Talks: Force Push Masters
490 участник(ов)

Свободный чат .NET разработчиков. Правила: t.me/dotnettalks/56823 Вам могут быть интересны: @dotnetruchat, @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @dotnetgroup, @xamarin_russia, @microsoftstackjobs, @uwp_ru http://combot.org/chat/-1001128250813

.NET Chat Убежище
.NET Chat Убежище
246 участник(ов)

Чат .NET разработчиков под эгидой MSK/SPB .NET Community Group Вам могут быть интересны: @fsharp_chat, @dotnetruchat, @cilchat, @xamarin_russia, @microsoftstackjobs, @dotnetgroup Флуд в @dotnettalks

.NET CIL Chat
.NET CIL Chat
54 участник(ов)

.NET CIL (aka IL aka MSIL)