Программный экспорт представлений SQL Server в Excel - PullRequest
1 голос
/ 06 декабря 2010

Я задал этот вопрос около 8 месяцев назад, и тот факт, что мы работали с SQL Server 2000, казалось, ограничивающим фактором.Мы недавно обновились до SQL Server 2008, и я до сих пор не могу найти надежного решения этой проблемы.

У нас есть приложение Access, взаимодействующее с базой данных SQL Server, и нам нужно найти способ программно экспортировать данныйпросмотр электронной таблицы Excel - или, по крайней мере, электронной таблицы, совместимой с Excel (CSV, табуляция с разделителями и т. д.). Я могу использовать bcp, однако некоторые из представлений содержат поля с переводами строк, что затрудняет их импорт в Excel.Эти представления также различны и имеют непредсказуемые столбцы, поэтому, насколько мне известно, использование OPENROWSET также не вариант, так как вам нужно иметь шаблон Excel с предопределенными строками.

Любая помощь здесь будет принята.Я знаком с Access и SQL Server, но мои знания несколько ограничены.

Ответы [ 2 ]

1 голос
/ 07 декабря 2010
  1. Если вы хотите экспортировать данные в CSV, вы можете написать собственную функцию для экранирования специальных символов в полях

(Это боль в одном месте)

  1. Если вы используете SSIS для экспорта ваших данных в Excel, в нем будет апостроф и начало каждой ячейки

  2. Если вы хотите потратить немного денег, вы можете рассмотреть возможность использования нашего расширенного процессора ETL Прежде всего, он работает правильно с Excel все время. Кроме того, он имеет компонент экспорта данных, который позволяет выбирать таблицы / представления для экспорт с использованием маски Вы можете использовать планировщик для его автоматизации или запустить пакет из командной строки

Этот интерактивный учебник дает краткое представление об экспорте данных

http://www.dbsoftlab.com/online-tutorials/advanced-etl-processor/advanced-etl-pro-exporting-data-from-mysql-database-into-text-files.html

1 голос
/ 06 декабря 2010

Когда вы говорите «программно», на каком языке вы надеялись реализовать решение?

Я бы предложил SQL Server SSIS в качестве хорошей отправной точки.Если вам нужно кодировать это динамически, вместо того, чтобы использовать BIDS / Visual Studio Designer, в библиотеках .NET есть много поддержки для этого, что позволяет вам делать это в c # / VB

...