Я знаю, что можно получить данные из базы данных 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 (для более "корпоративного" и безопасного подхода). Это, вероятно, слишком велико для того, что вы хотите выполнить.
Ответ 3
Существует новый плагин Excel под названием "MySQL for Excel": http://www.mysql.com/why-mysql/windows/
Ответ 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'