Запись данных обратно в SQL из листа Excel

Я знаю, что можно получить данные из базы данных SQL в листе excel, но я ищу способ сделать это возможным для редактирования данных в excel и после редактирования записать его обратно в базу данных SQL.

Похоже, что это не функция в excel, и google не придумал много полезного.

Ответ 1

Если вы хотите, чтобы файл Excel выполнял всю работу (извлекать из БД, манипулировать, обновлять БД), вы можете посмотреть на объекты данных ActiveX (ADO). Вы можете получить обзор:

http://msdn.microsoft.com/en-us/library/ms680928(VS.85).aspx

Ответ 2

Вам нужен мастер импорта/экспорта в SQL Management Studio. В зависимости от того, какую версию SQL Server вы используете, откройте SSMS (подключитесь к экземпляру SQL, который вы желаете), щелкните правой кнопкой мыши на базе данных, в которую вы хотите импортировать, и выберите "Задачи".. "Импорт данных".

В мастере нажмите "Далее" (за пределами экрана ввода), а в списке "Источник данных" выберите "Microsoft Excel". Вы указываете путь и имя файла электронной таблицы Excel, есть ли у вас заголовки столбцов или нет. Затем нажмите "Далее". Просто следуйте за мастером, он настроит пункт назначения (может быть SQL Server или другой пункт назначения) и т.д.

Для этого процесса доступна помощь в Электронная документация по SQL Server и многое другое (пошаговое руководство) из MSDN.

Если вам нужно что-то развертываемое/более надежное (или менее управляемое мастером), вам нужно будет взглянуть на службы интеграции SQL Server (для более "корпоративного" и безопасного подхода). Это, вероятно, слишком велико для того, что вы хотите выполнить.

Ответ 4

Вы можете использовать эти надстройки:

www.QueryCell.com(я создал этот) www.SQLDrill.com www.Excel-DB.net

Ответ 5

Вы можете использовать функцию OPENROWSET для управления данными Excel из T-SQL script. Пример использования:

UPDATE OPENROWSET ('Microsoft.Jet.OLEDB.4.0', "Excel 8.0; DATABASE = c:\MySpreadsheet.xls", 'Выбрать * из MyTable')   SET Поле1 = 'Значение1' WHERE Поле2 = 'Значение2'