Как загрузить в SQL Server данные из Excel: пошаговая инструкция
BULK INSERT TableName
FROM 'C:\Path\To\Excel\File.xlsx'
WITH (
FORMAT = 'CSV',
FIRSTROW = 2,
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
- Замените `TableName` на имя вашей таблицы и `C:\Path\To\Excel\File.xlsx` на путь к вашему файлу Excel.
3. С помощью оператора OPENROWSET:
- Используйте следующий SQL-скрипт для загрузки данных из Excel в таблицу временной таблицы в SQL Server:
SELECT *
INTO TempTable
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0; Database=C:\Path\To\Excel\File.xlsx', [Sheet1$])
- Замените `TempTable` на имя вашей временной таблицы и `C:\Path\To\Excel\File.xlsx` на путь к вашему файлу Excel.
Надеюсь, эти примеры помогут вам загрузить данные из Excel в SQL Server!
Детальный ответ
Как загрузить в SQL Server данные из Excel?
Загрузка данных из Excel в SQL Server может быть полезной операцией, особенно если у вас большой объем данных, которые вы хотите сохранить в базе данных. В этой статье мы рассмотрим различные подходы, которые можно использовать для загрузки данных из Excel в SQL Server с использованием примеров кода.
1. Загрузка данных с использованием SQL Server Management Studio (SSMS)
SQL Server Management Studio (SSMS) предоставляет удобный способ загрузки данных из Excel. Для этого необходимо выполнить следующие шаги:
- Откройте SSMS и подключитесь к вашему серверу SQL Server.
- Щелкните правой кнопкой мыши на вашей базе данных и выберите "Tasks" (Задачи) -> "Import Data" (Импортировать данные).
- Следуйте инструкциям мастера импорта данных, выбрав Excel в качестве источника данных и вашу базу данных SQL Server в качестве приемника данных.
- Выберите нужную таблицу в Excel, которую вы хотите импортировать.
- Настройте сопоставление столбцов между Excel и вашей таблицей в SQL Server.
- Запустите процесс импорта данных и дождитесь его завершения.
SSMS успешно загрузит данные из Excel в вашу базу данных SQL Server.
2. Загрузка данных с использованием SQL Server Integration Services (SSIS)
Если ваши требования к загрузке данных сложнее, или если вам нужно выполнять эту операцию регулярно, вы можете воспользоваться SQL Server Integration Services (SSIS). SSIS - это мощный инструмент ETL (Extract, Transform, Load), предоставляемый SQL Server.
Для загрузки данных из Excel в SQL Server с помощью SSIS выполните следующие шаги:
- Откройте SQL Server Data Tools (SSDT) и создайте новый проект SSIS.
- Добавьте "Excel Source" (источник данных Excel) и "OLE DB Destination" (приемник данных OLE DB) на дизайнер пакета SSIS.
- Настройте соединение с Excel файлом и базой данных SQL Server.
- Укажите нужные настройки для автоматического определения схемы данных Excel или ручного определения с помощью "Data Conversion" (конвертирование данных).
- Сопоставьте столбцы между источником данных Excel и приемником данных SQL Server.
- Запустите выполнение SSIS пакета и дождитесь его завершения.
SSIS предоставляет больше гибкости и возможностей для загрузки данных из Excel в SQL Server, чем SSMS.
3. Загрузка данных с использованием T-SQL скрипта
Если у вас нет доступа к SSMS или SSIS, или если вам просто удобнее использовать T-SQL скрипт для загрузки данных, вы можете воспользоваться следующим примером кода:
-- Создание временной таблицы для импорта данных из Excel
CREATE TABLE #TempTable (
Column1 INT,
Column2 VARCHAR(50),
Column3 DATE
);
-- Загрузка данных из Excel во временную таблицу
INSERT INTO #TempTable (Column1, Column2, Column3)
SELECT Column1, Column2, Column3
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=C:\путь_к_вашему_файлу_Excel.xlsx', 'SELECT * FROM [Sheet1$]');
-- Вставка данных из временной таблицы в вашу таблицу SQL Server
INSERT INTO YourTable (Column1, Column2, Column3)
SELECT Column1, Column2, Column3
FROM #TempTable;
-- Удаление временной таблицы
DROP TABLE #TempTable;
В этом примере мы создаем временную таблицу #TempTable с теми же столбцами, что и в Excel файле, затем загружаем данные из Excel в эту временную таблицу с помощью OPENROWSET. Затем мы вставляем данные из временной таблицы #TempTable в конечную таблицу в SQL Server и, наконец, удаляем временную таблицу.
Заключение
Загрузка данных из Excel в SQL Server может быть выполнена различными способами, включая использование SQL Server Management Studio, SQL Server Integration Services или T-SQL скриптов. Выберите подход, который наиболее удобен и соответствует вашим требованиям.