Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Экспорт в Excel 6000 колонок / 23 сообщений из 23, страница 1 из 1
16.10.2019, 00:12
    #39876809
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт в Excel 6000 колонок
Скажите пожалуйста, как можно наилучшим образом выгрузить данные из динамического запроса,
который возвращает 6000 колонок?

Заранее благодарен.
...
Рейтинг: 0 / 0
16.10.2019, 01:02
    #39876816
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт в Excel 6000 колонок
vahиз динамического запроса, который возвращает 6000 колонок?А что говорит автор сего сумеречного творения?

З.Ы. А, да, чем не устраивает любой способ, который позволяет выгрузить данные из динамического запроса, в котором от 1 до 5999 колонок?
...
Рейтинг: 0 / 0
16.10.2019, 08:25
    #39876846
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт в Excel 6000 колонок
vah... данные из динамического запроса,
который возвращает 6000 колонок?
В Oracle 12 количество колонок (полей) в запросе специально ограничено 1000-ю.
Наверно намаялись с энтузиастами и их хотелками.
...
Рейтинг: 0 / 0
16.10.2019, 08:52
    #39876850
L_argo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт в Excel 6000 колонок
6000, Карл !!! Шедеврально.
...
Рейтинг: 0 / 0
16.10.2019, 08:56
    #39876851
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт в Excel 6000 колонок
Гавриленко Сергей Алексеевич,

на самом деле чуть больше 6000 )
...
Рейтинг: 0 / 0
16.10.2019, 09:04
    #39876857
4d_monster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт в Excel 6000 колонок
L_argo6000, Карл !!! Шедеврально.
vahна самом деле чуть больше 6000 )
Тогда, это чуть больше чем 'Шедеврально.'
...
Рейтинг: 0 / 0
16.10.2019, 09:14
    #39876862
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт в Excel 6000 колонок
4d_monsterL_argo6000, Карл !!! Шедеврально.
vahна самом деле чуть больше 6000 )
Тогда, это чуть больше чем 'Шедеврально.'

на самом деле сейчас данные выгружаются на клиенте в циклах, но работает это ооочень долго. хочу переделать это чтоб данные готовились на серваке.
...
Рейтинг: 0 / 0
16.10.2019, 10:01
    #39876900
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт в Excel 6000 колонок
vah... данные выгружаются на клиенте ...
А кто клиент?
Хотелось бы взглянуть на человека, способного анализировать данные по 6000 полей.
Похоже вы разбаловали вашего заказчика...
Стоит один раз не послать нахрен типа, сказавшего "А вот хочу, чтобы видеть одновременно ...сот полей!" как болезнь начинает прогрессировать.
В вашем случае это крайняя степень запущенности.
Что будете делать, когда он захочет миллион?
...
Рейтинг: 0 / 0
16.10.2019, 10:05
    #39876905
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт в Excel 6000 колонок
SQL2008vah... данные выгружаются на клиенте ...
А кто клиент?
Хотелось бы взглянуть на человека, способного анализировать данные по 6000 полей.
Похоже вы разбаловали вашего заказчика...
Стоит один раз не послать нахрен типа, сказавшего "А вот хочу, чтобы видеть одновременно ...сот полей!" как болезнь начинает прогрессировать.
В вашем случае это крайняя степень запущенности.
Что будете делать, когда он захочет миллион?

не, там фишка в том, что этот Excel потом загружается в какую-то систему, которая анализирует это
...
Рейтинг: 0 / 0
16.10.2019, 10:08
    #39876908
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт в Excel 6000 колонок
vahSQL2008пропущено...

А кто клиент?
Хотелось бы взглянуть на человека, способного анализировать данные по 6000 полей.
Похоже вы разбаловали вашего заказчика...
Стоит один раз не послать нахрен типа, сказавшего "А вот хочу, чтобы видеть одновременно ...сот полей!" как болезнь начинает прогрессировать.
В вашем случае это крайняя степень запущенности.
Что будете делать, когда он захочет миллион?

не, там фишка в том, что этот Excel потом загружается в какую-то систему, которая анализирует это
Хорошо, но зачем в Excel-то??? Есть много гораздо более удобных и компактных форматов.
Заканчивая тем, что не использовать Excel как промежуточное звено.
Почему нельзя сразу передать данные?
...
Рейтинг: 0 / 0
16.10.2019, 10:10
    #39876909
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт в Excel 6000 колонок
SQL2008vahпропущено...


не, там фишка в том, что этот Excel потом загружается в какую-то систему, которая анализирует это
Хорошо, но зачем в Excel-то??? Есть много гораздо более удобных и компактных форматов.
Заканчивая тем, что не использовать Excel как промежуточное звено.
Почему нельзя сразу передать данные?

может XML предложить?
...
Рейтинг: 0 / 0
16.10.2019, 10:12
    #39876910
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт в Excel 6000 колонок
SQL2008Хотелось бы взглянуть на человека, способного анализировать данные по 6000 полей.6000 записей в таблице тоже неудобно пролистывать, но в БД иногда встречается и больше :-)
Скорее, этот эксельный лист никто никогда не читал, он используется как источник данных для расчётов.

Конечно, можно сказать, "переносите всё в оракл/сиквел/етц":SQL2008Стоит один раз не послать нахрен типа, сказавшего "А вот хочу, чтобы видеть одновременно ...сот полей!" как болезнь начинает прогрессировать.Но компания хочет использовать эти активы, и не понимает, сколько денег она получит за переписывание эксельной базы, например, на сиквел и веб-приложение.

Соответственно, услышав "послать нахрен", они могут найти другого подрядчика, который просто хочет денег, а не "учить", и выполнит этот простенький заказ без посылания клиента.

Я тоже делал такие выгрузки для клиента, сотни полей, миллионы строк, и некие расчёты (по множеству связанных эксельных файлов). Платят деньги - выгружаю, не отказываюсь. Переписывать за стоимость выгрузки не подряжаюсь.
...
Рейтинг: 0 / 0
16.10.2019, 10:14
    #39876911
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт в Excel 6000 колонок
SQL2008vahне, там фишка в том, что этот Excel потом загружается в какую-то систему, которая анализирует это
Хорошо, но зачем в Excel-то??? Есть много гораздо более удобных и компактных форматов.
Заканчивая тем, что не использовать Excel как промежуточное звено.
Почему нельзя сразу передать данные?Потому что эти файлы - результат нескольких лет работы специалистов, наваявших эти расчёты.
Не было у них других инструментов.
Они забивали данные руками, потом стали выгружать из каких то источников.
XML ещё не существовало, когда они это делали.
...
Рейтинг: 0 / 0
16.10.2019, 10:30
    #39876930
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт в Excel 6000 колонок
alexeyvg Я тоже делал такие выгрузки для клиента, сотни полей, миллионы строк, и некие расчёты (по множеству связанных эксельных файлов). Платят деньги - выгружаю, не отказываюсь. Переписывать за стоимость выгрузки не подряжаюсь.
С этим трудно не согласиться!
Если заказчик готов оплачивать такую работу, то почему нет?
Насчет "послать нахрен" имелось в виду мягко уговорить клиента, что это неразумно выгружать так много полей в Excel.
...
Рейтинг: 0 / 0
16.10.2019, 10:37
    #39876933
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт в Excel 6000 колонок
alexeyvg Потому что эти файлы - результат нескольких лет работы специалистов, наваявших эти расчёты.
Не было у них других инструментов.
Они забивали данные руками, потом стали выгружать из каких то источников.
XML ещё не существовало, когда они это делали.
Когда я начинал работать в IЕ на одном промышленном комбинате, то там забивали данные в SuperCalc, выгружали их в DBF-формате на дискеты 5.25 и вручную (я был транспортным протоколом) неслись в другое управление и там загружались в другую систему учета.
Хотя 10 мегабитная сеть на коаксиальных кабелях работала.

Когда настроил пересылку и загрузку данных по сети, то общее их настроение было "А что? Так можно было что-ли?"

Это я к тому, что традиция традицией, но если есть возможность, то почему не улучшить систему?
P.S. Сорри за использование архаичных и забытых терминов.
...
Рейтинг: 0 / 0
16.10.2019, 10:38
    #39876934
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт в Excel 6000 колонок
SQL2008работать в IЕ
работать в IT
...
Рейтинг: 0 / 0
16.10.2019, 12:15
    #39876995
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт в Excel 6000 колонок
vah,

наилучшим будет написать на VBA программу выгрузки.
...
Рейтинг: 0 / 0
16.10.2019, 17:41
    #39877241
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт в Excel 6000 колонок
SQL2008Насчет "послать нахрен" имелось в виду мягко уговорить клиента, что это неразумно выгружать так много полей в Excel.Не, ну это понятно, если выбор делается при специалисте, то его долг - сказать, как правильно.
Но обычно 6000 полей выгружают, потому что уже так работает...
SQL2008Это я к тому, что традиция традицией, но если есть возможность, то почему не улучшить систему?Согласен, но не всегда составные части бизнес-процессов функционируют в одном проекте, подразделении, иногда даже это разные компании. И поменять становится непросто.
Опять же, я говорил об "активах" - бизнес вполне обоснованно спросит: "сколько нам за это будет баксов, если мы поменяем систему расчётов на Эксельных файлах на более современную?"
И нужно суметь ответить на этот вопрос, назвать цифру, и обосновать. А если вы ответите "ну надо заменить потому что это безобразие", то такой ответ может не сработать.
Владислав Колосовнаилучшим будет написать на VBA программу выгрузки.Так у них сейчас так и делается, но это не устраивает, потому что медленно работает.
...
Рейтинг: 0 / 0
16.10.2019, 18:20
    #39877255
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт в Excel 6000 колонок
alexeyvg,

в таком случае я не понял - о каких циклах говорилось. Можно циклы гонять по строкам, а можно и по 100-200 столбцов за раз.
...
Рейтинг: 0 / 0
16.10.2019, 19:31
    #39877274
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт в Excel 6000 колонок
Владислав Колосовalexeyvg,

в таком случае я не понял - о каких циклах говорилось. Можно циклы гонять по строкам, а можно и по 100-200 столбцов за раз.Ну, это я не знаю, про детали реализации.
Наверняка можно оптимизировать, всё можно оптимизировать :-)

Вообще, есть же готовый клиент, для выгрузки в эксель - SSIS.
Может, он будет быстро это делать.

Или, как вариант, рассмотреть прямое формирование файла эксель (помня, что этот файл - обычный xml, и есть готовые решения такого рода).
Это точно будет самым быстрым вариантом, но писать и поддерживать такое, конечно, сложно, и выгружать напрямую следует только при требованиях экстремальной производительности, типа, 1 файл на 1 Гб каждую минуту.
...
Рейтинг: 0 / 0
17.10.2019, 14:15
    #39877711
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт в Excel 6000 колонок
vahСкажите пожалуйста, как можно наилучшим образом выгрузить данные из динамического запроса,
который возвращает 6000 колонок?

Заранее благодарен.

Смотрите в сторону OpenXML
...
Рейтинг: 0 / 0
25.10.2019, 09:20
    #39881329
andy st
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт в Excel 6000 колонок
vah,
Чисто технически в xlsx используя драйвер Microsoft.ACE.OLEDB.12.0 и возможность выборки в OPENROWSET записи листа из заданного диапазона можно обходить ограничение в 255 столбиков для доступа к частям листа Excel

для вывода первых шести столбиков
Код: sql
1.
select * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=YES;Database=d:\xls\TEST.xlsx', 'SELECT * FROM [Лист1$A1:F2]')



для вывода столбиков 9998 - 10001
Код: sql
1.
select * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=YES;Database=d:\xls\TEST.xlsx', 'SELECT * FROM [Лист1$NTN1:NTQ2]')



точно также работает update
другая проблема - реализация автоматизации доступа к частям файла в общем виде запросто можно будет номинировать на награду "извращение года"
...
Рейтинг: 0 / 0
25.10.2019, 09:38
    #39881340
Alexander Us
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт в Excel 6000 колонок
vahСкажите пожалуйста, как можно наилучшим образом выгрузить данные из динамического запроса,
который возвращает 6000 колонок?

Заранее благодарен.

стелайте с# или vb проект в visual studio,
приукутите библиотеку для записи и чтения Excel файлов EPPlus
(можно через NuGet)

-бесплатно
-много примеров
-много возможностей
-расширяемо (я делал с ней даже кастомизорованные пивоты)
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Экспорт в Excel 6000 колонок / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]