|
Как сформировать Эксель на сервере и выложить в папку
|
|||
---|---|---|---|
#18+
Сейчас пользователь нажимает кнопку в экселе и с помощью VBA происходит подключение к серверу, запускается хранимку, она выгружает данные и формулы для Экселя, дальше результат обрабатывается на VBA, строиться сводная таблица, форматирование и т.п. Хранимка выдает результат например: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
Подскажите какие можно использовать подходы, что бы построить сразу отчет на стороне сервера с формулами, форматированием и уже выложить его в папку, а не формировать на VBA и потом только сохранять в папку? SSRS не поддерживает выгрузку сложных формул Версия сервера 2017 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2021, 11:56 |
|
Как сформировать Эксель на сервере и выложить в папку
|
|||
---|---|---|---|
#18+
Focha, как вариант - ХП запускает JOB, в котором на PowerShell заполняется все как нужно и сохраняется куда угодно (с доступом конечно же) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2021, 12:00 |
|
Как сформировать Эксель на сервере и выложить в папку
|
|||
---|---|---|---|
#18+
Oleg_SQL Focha, как вариант - ХП запускает JOB, в котором на PowerShell заполняется все как нужно и сохраняется куда угодно (с доступом конечно же) Зачем эти сложные телодвижения? Мухи отдельно - котлеты отдельно. 1. Считаем на сервере. 2. Показываем в экселе. 3. VBA идет лесом. ЗЫ. Те, "сложные" формулы, которые продемонстрировал ТС - вполне по плечу серверу. Он сложнее может. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2021, 12:09 |
|
Как сформировать Эксель на сервере и выложить в папку
|
|||
---|---|---|---|
#18+
aleks222, форматирование тоже на сервере формировать? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2021, 12:11 |
|
Как сформировать Эксель на сервере и выложить в папку
|
|||
---|---|---|---|
#18+
Oleg_SQL aleks222, форматирование тоже на сервере формировать? Форматирование, заданное в экселе - сохраняется при обновлении данных. Если только там не форматирование сумашедшего. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2021, 12:16 |
|
Как сформировать Эксель на сервере и выложить в папку
|
|||
---|---|---|---|
#18+
Мне нужно сформировать статичный отчет, то есть вставить данные и формулы, пользователь в дополнительном столбе указывает значения и происходит дополнительный расчет Форматирование не только отчета, но еще условное форматирование. Мне не просто таблицу нужно в эксель выгрузить. Oleg_SQL Focha, как вариант - ХП запускает JOB, в котором на PowerShell заполняется все как нужно и сохраняется куда угодно (с доступом конечно же) Как вы предлагете формировать отчет с помощью PowerShell? aleks222 Зачем эти сложные телодвижения? Мухи отдельно - котлеты отдельно. 1. Считаем на сервере. 2. Показываем в экселе. 3. VBA идет лесом. ЗЫ. Те, "сложные" формулы, которые продемонстрировал ТС - вполне по плечу серверу. Он сложнее может. Нужно по сути пользователю инструмент в котором он может внося различные данные, формулы ему показывают новые цифры. Oleg_SQL aleks222,форматирование тоже на сервере формировать? Да, думаю SSRS использует подход типа шаблона aleks222 Форматирование, заданное в экселе - сохраняется при обновлении данных. Если только там не форматирование сумашедшего. Сумащедшее: условное форматирование, группировка, промежуточные итоги, линии и т.п., а так же сводная таблица Прикрепил пример отчета, оранжевый это столбцы с формулами ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2021, 13:35 |
|
Как сформировать Эксель на сервере и выложить в папку
|
|||
---|---|---|---|
#18+
Вот пример одной формулы ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2021, 13:41 |
|
Как сформировать Эксель на сервере и выложить в папку
|
|||
---|---|---|---|
#18+
Focha Мне нужно сформировать статичный отчет, то есть вставить данные и формулы, пользователь в дополнительном столбе указывает значения и происходит дополнительный расчет Форматирование не только отчета, но еще условное форматирование. Мне не просто таблицу нужно в эксель выгрузить. Как вы предлагете формировать отчет с помощью PowerShell? Не ясен вопрос. Пишите код и формируете. В сети множество примеров. И не обязательно на нём, можно на том же C# и тп (если есть на чем скомпилировать) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2021, 14:09 |
|
Как сформировать Эксель на сервере и выложить в папку
|
|||
---|---|---|---|
#18+
Oleg_SQL Focha Мне нужно сформировать статичный отчет, то есть вставить данные и формулы, пользователь в дополнительном столбе указывает значения и происходит дополнительный расчет Форматирование не только отчета, но еще условное форматирование. Мне не просто таблицу нужно в эксель выгрузить. Как вы предлагете формировать отчет с помощью PowerShell? Не ясен вопрос. Пишите код и формируете. В сети множество примеров. И не обязательно на нём, можно на том же C# и тп (если есть на чем скомпилировать) Вот походу мне это подходит Как из MSSQL создать Excel-файл? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2021, 15:33 |
|
Как сформировать Эксель на сервере и выложить в папку
|
|||
---|---|---|---|
#18+
Focha, xml? Думаете это будет проще и читабельнее ? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2021, 16:08 |
|
Как сформировать Эксель на сервере и выложить в папку
|
|||
---|---|---|---|
#18+
Focha Мне нужно сформировать статичный отчет, то есть вставить данные и формулы, пользователь в дополнительном столбе указывает значения и происходит дополнительный расчет Форматирование не только отчета, но еще условное форматирование. Мне не просто таблицу нужно в эксель выгрузить. Считай на здоровье. Кто тебе мешает? Данные, загруженные в эксель, никак не влияют на фсе прочие формулы. Формулы продолжают считать. Другое дело, что ты не умеешь. Но это твоя проблема. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2021, 17:24 |
|
Как сформировать Эксель на сервере и выложить в папку
|
|||
---|---|---|---|
#18+
aleks222 Focha Мне нужно сформировать статичный отчет, то есть вставить данные и формулы, пользователь в дополнительном столбе указывает значения и происходит дополнительный расчет Форматирование не только отчета, но еще условное форматирование. Мне не просто таблицу нужно в эксель выгрузить. Считай на здоровье. Кто тебе мешает? Данные, загруженные в эксель, никак не влияют на фсе прочие формулы. Формулы продолжают считать. Другое дело, что ты не умеешь. Но это твоя проблема. Вы можете дать совет или не давать такие ответы ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2021, 19:18 |
|
Как сформировать Эксель на сервере и выложить в папку
|
|||
---|---|---|---|
#18+
Oleg_SQL Focha, xml? Думаете это будет проще и читабельнее ? Нет, но пока это самый я думаю хороший вариант ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2021, 19:19 |
|
Как сформировать Эксель на сервере и выложить в папку
|
|||
---|---|---|---|
#18+
Focha aleks222 пропущено... Считай на здоровье. Кто тебе мешает? Данные, загруженные в эксель, никак не влияют на фсе прочие формулы. Формулы продолжают считать. Другое дело, что ты не умеешь. Но это твоя проблема. Вы можете дать совет или не давать такие ответы Может за тебя еще и сделать? Ты хоть умеешь получить данные сервера в экселе БЕЗ vba? То же самое, но с передачей параметров на сервер? Учись. А не фантазируй. Сложный отчет - это признак скудоумия. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2021, 19:33 |
|
Как сформировать Эксель на сервере и выложить в папку
|
|||
---|---|---|---|
#18+
Focha, прислушайтесь к aleks222 - он совершенно прав, за исключением последнего пункта - VBA таки пригодится. Если подробней, то: Сначала избавляемся от ВПР-ов и формул в книге Excel. Для этого используемые в ВПР таблицы из Excel переезжают на сервер, а Вы занимаетесь анализом формул во всех-всех-всех столбцах отчёта, включая скрытые и свёрнутые. Затем пишете на сервере функцию из нескольких сотен строк, так как число столбцов отчёта превышает несколько десятков, с необходимыми параметрами, которая бы генерировала и рассчитывала все эти столбцы. Затем открываем книгу с отчётом, переходим в редактор VBA, и пишем процедуру, которая будет выполнять на сервере функцию и выгружать полученные данные на заранее отформатированный лист отчёта с необходимыми заголовками, разметками, условным форматированием и прочей красотой. Параметры для процедуры, которые она будет передавать функции, можно хранить на отдельном листе. Также в процедуре надо предусмотреть код для новой группировки строк, если она может меняться со временем. А если в отчёте есть расчёт итогов по неделям / месяцам / годам / объектам, то это также можно засунуть в функцию - я же писал, что её суть - избавить лист Excel от ВПР-ов и функций? В общем, от двух дней (крайне оптимистично) до пары недель точно придётся потратить. P.S. Коллеги, я в курсе про PowerQuery, но если нужно будет передавать каждый раз в функцию новые параметры, то всё равно процедура, которая будет менять настройки соединения, будет нужна. P.P.S. про всякие нюансы типа "в прошлом месяце в этом столбце вспомогательной таблицы были такие значение, а в этом должны быть вот такие, но терять старые значение нельзя - а вдруг надо будет переделать отчёт за прошлый месяц, но и плодить кучу копий одной и той же таблицы нельзя" молчу. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2021, 22:06 |
|
Как сформировать Эксель на сервере и выложить в папку
|
|||
---|---|---|---|
#18+
aleks222 Если подробней, то: Сначала избавляемся от ВПР-ов и формул в книге Excel. Для этого используемые в ВПР таблицы из Excel переезжают на сервер, а Вы занимаетесь анализом формул во всех-всех-всех столбцах отчёта, включая скрытые и свёрнутые. Затем пишете на сервере функцию из нескольких сотен строк, так как число столбцов отчёта превышает несколько десятков, с необходимыми параметрами, которая бы генерировала и рассчитывала все эти столбцы. Затем открываем книгу с отчётом, переходим в редактор VBA, и пишем процедуру, которая будет выполнять на сервере функцию и выгружать полученные данные на заранее отформатированный лист отчёта с необходимыми заголовками, разметками, условным форматированием и прочей красотой. Параметры для процедуры, которые она будет передавать функции, можно хранить на отдельном листе. Также в процедуре надо предусмотреть код для новой группировки строк, если она может меняться со временем. А если в отчёте есть расчёт итогов по неделям / месяцам / годам / объектам, то это также можно засунуть в функцию - я же писал, что её суть - избавить лист Excel от ВПР-ов и функций? В общем, от двух дней (крайне оптимистично) до пары недель точно придётся потратить. Из вашего варианта я правильно понял, что сама структура отчета будет в виде функций? aleks222 P.S. Коллеги, я в курсе про PowerQuery, но если нужно будет передавать каждый раз в функцию новые параметры, то всё равно процедура, которая будет менять настройки соединения, будет нужна. мне неподходит, так как связь с сервером должна отсутствовать aleks222 P.P.S. про всякие нюансы типа "в прошлом месяце в этом столбце вспомогательной таблицы были такие значение, а в этом должны быть вот такие, но терять старые значение нельзя - а вдруг надо будет переделать отчёт за прошлый месяц, но и плодить кучу копий одной и той же таблицы нельзя" молчу. это вообще не рассматривается ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2021, 09:42 |
|
Как сформировать Эксель на сервере и выложить в папку
|
|||
---|---|---|---|
#18+
aleks222 Focha пропущено... Вы можете дать совет или не давать такие ответы Может за тебя еще и сделать? Ты хоть умеешь получить данные сервера в экселе БЕЗ vba? То же самое, но с передачей параметров на сервер? Учись. А не фантазируй. Сложный отчет - это признак скудоумия. Ты че такой злой? Убедительная просьба не отвечать больше в этой теме, так как советов вы не даете Возможно вы завидуете, что я разрабатываю крутой инструмент для аналитиков, а вы не можете даже формулу прописать в экселе, больше я не вижу причин вашего поведения. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2021, 09:45 |
|
Как сформировать Эксель на сервере и выложить в папку
|
|||
---|---|---|---|
#18+
Focha aleks222 Если подробней, то: Сначала избавляемся от ВПР-ов и формул в книге Excel. Для этого используемые в ВПР таблицы из Excel переезжают на сервер, а Вы занимаетесь анализом формул во всех-всех-всех столбцах отчёта, включая скрытые и свёрнутые. Затем пишете на сервере функцию из нескольких сотен строк, так как число столбцов отчёта превышает несколько десятков, с необходимыми параметрами, которая бы генерировала и рассчитывала все эти столбцы. Затем открываем книгу с отчётом, переходим в редактор VBA, и пишем процедуру, которая будет выполнять на сервере функцию и выгружать полученные данные на заранее отформатированный лист отчёта с необходимыми заголовками, разметками, условным форматированием и прочей красотой. Параметры для процедуры, которые она будет передавать функции, можно хранить на отдельном листе. Также в процедуре надо предусмотреть код для новой группировки строк, если она может меняться со временем. А если в отчёте есть расчёт итогов по неделям / месяцам / годам / объектам, то это также можно засунуть в функцию - я же писал, что её суть - избавить лист Excel от ВПР-ов и функций? В общем, от двух дней (крайне оптимистично) до пары недель точно придётся потратить. Из вашего варианта я правильно понял, что сама структура отчета будет в виде функций? aleks222 P.S. Коллеги, я в курсе про PowerQuery, но если нужно будет передавать каждый раз в функцию новые параметры, то всё равно процедура, которая будет менять настройки соединения, будет нужна. мне неподходит, так как связь с сервером должна отсутствовать aleks222 P.P.S. про всякие нюансы типа "в прошлом месяце в этом столбце вспомогательной таблицы были такие значение, а в этом должны быть вот такие, но терять старые значение нельзя - а вдруг надо будет переделать отчёт за прошлый месяц, но и плодить кучу копий одной и той же таблицы нельзя" молчу. это вообще не рассматривается Даже цитировать не умеешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2021, 12:25 |
|
Как сформировать Эксель на сервере и выложить в папку
|
|||
---|---|---|---|
#18+
Focha aleks222 пропущено... Может за тебя еще и сделать? Ты хоть умеешь получить данные сервера в экселе БЕЗ vba? То же самое, но с передачей параметров на сервер? Учись. А не фантазируй. Сложный отчет - это признак скудоумия. Ты че такой злой? Убедительная просьба не отвечать больше в этой теме, так как советов вы не даете Возможно вы завидуете, что я разрабатываю крутой инструмент для аналитиков, а вы не можете даже формулу прописать в экселе, больше я не вижу причин вашего поведения. В темах отвечают не только для тредстартеров. Есть еще и другие. Вменяемые. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2021, 12:26 |
|
Как сформировать Эксель на сервере и выложить в папку
|
|||
---|---|---|---|
#18+
aleks222 Даже цитировать не умеешь. Ты за своими ошибками следи, явно у тебя проблемы и че ты пристал? aleks222 В темах отвечают не только для тредстартеров. Есть еще и другие. Вменяемые. Вот к чему этот ответ? Помоги найти решение и не пиши еренду ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2021, 12:49 |
|
Как сформировать Эксель на сервере и выложить в папку
|
|||
---|---|---|---|
#18+
Focha aleks222 Даже цитировать не умеешь. Ты за своими ошибками следи, явно у тебя проблемы и че ты пристал? Не бухти. Приписывать мне не принадлежащие мне высказывания - некорректно. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2021, 14:48 |
|
Как сформировать Эксель на сервере и выложить в папку
|
|||
---|---|---|---|
#18+
Focha, вам нужен C# для приложений Office. Можно оформить процедурой CLR, но лучше отдельным приложением, например, веб-сервисом + веб интерфейс. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2021, 15:46 |
|
Как сформировать Эксель на сервере и выложить в папку
|
|||
---|---|---|---|
#18+
Focha Из вашего варианта я правильно понял, что сама структура отчета будет в виде функций? Да. В файле Excel на листе с отчётом вводите в выбранные ячейки значения параметров и нажимаете кнопку. И получаете под строкой-заголовком отчёта новые данные. И никаких пересчётов данных при каждом новом открытии книги. Ну или если есть необходимость или желание что-то по-прежнему привязывать либо рассчитывать в книге, то часть столбцов грузите из функции на сервере, а часть пускай считается на листе. Если не хотите давать в руки пользователей доступ к серверу - создаёте отдельный лист с параметрами и кнопкой. В окне редактора VBA этот лист помечаете как Very Hidden, на проект VBA ставите пароль, и никто из простых пользователей этот лист отобразить не сможет. Кнопку нажали, данные обновили, лист Very Hidden поставили, книгу сохранили, и готово. Focha мне неподходит, так как связь с сервером должна отсутствовать Не хотите PowerQuery - не надо, просто в процедуре VBA кода будет больше. Focha это вообще не рассматривается Рано или поздно с этим придётся столкнуться, когда выяснится, что в этом месяце в справочнике исправили часть строк, а надо выгрузить отчёт за прошлый месяц заново со старыми значениями справочника. Вот если справочники оставить внутри книги Excel, и выгружать только часть столбцов отчёта, тогда это не проблема, да. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2021, 16:00 |
|
|
start [/forum/topic.php?fid=46&msg=40095443&tid=1684329]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
138ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 275ms |
total: | 512ms |
0 / 0 |