Как импортировать файл Excel в SQL Server? Импорт данных в sql из excel
import - Как импортировать файл Excel в SQL Server?
Есть много статей о написании кода для импорта файла excel, но это ручная/краткая версия:
Если вам не нужно программно импортировать файл Excel с помощью кода, вы можете сделать это очень быстро, используя меню в SQL Management Studio.
Самый быстрый способ получить ваш файл Excel в SQL - с помощью мастера импорта:
- Откройте SSMS (Sql Server Management Studio) и подключитесь к базе данных, в которую вы хотите импортировать свой файл.
- Импорт данных. В SSMS в проводнике объектов в разделе "Базы данных" щелкните правой кнопкой мыши базу данных назначения, выберите Задачи, Импорт данных. Появится мастер импорта (обычно вы можете просто нажать "Далее" на первом экране).
-
В следующем окне " Выберите источник данных", выберите Excel:
-
В раскрывающемся списке "Источник данных" выберите Microsoft Excel (этот параметр должен появиться автоматически, если у вас установлен Excel).
-
Нажмите кнопку "Обзор", чтобы выбрать путь к файлу Excel, который вы хотите импортировать.
- Выберите версию файла excel (97-2003 обычно отлично подходит для файлов с расширением .XLS или использует 2007 для более новых файлов с расширением .XLSX)
- Установите флажок "Первая строка с заголовками", если ваш файл excel содержит заголовки.
- Нажмите "Далее".
-
- На экране Выбрать место назначения > выберите целевую базу данных:
- Выберите "Имя сервера", "Аутентификация" (обычно ваше имя пользователя и пароль) и выберите базу данных в качестве адресата. Нажмите "Далее".
-
В окне Укажите копию таблицы или запрос:
- Для простоты просто выберите "Копировать данные из одной или нескольких таблиц или представлений", нажмите "Далее".
-
' Выберите исходные таблицы: выберите рабочий лист из файла Excel и укажите таблицу назначения для каждого рабочего листа. Если у вас еще нет таблицы, мастер очень любезно создаст новую таблицу, которая соответствует всем столбцам из вашей таблицы. Нажмите "Далее.
- Нажмите "Готово".
Вы также можете использовать OPENROWSET для импорта файла excel на сервере sql.
SELECT * INTO Your_Table FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=C:\temp\MySpreadsheet.xlsx', 'SELECT * FROM [Data$]') ответ дан Prafulla 21 сент. '16 в 12:00 источник поделитьсяqaru.site
Импорт данных из Excel в SQL Server, что не позволяет импортировать все данные
У меня странная вещь, связанная с импортом данных из Excel в SQL Server с помощью инструмента «Импорт и экспорт данных».
Короче говоря, я вижу данные в Excel, но все данные не импортируются.
У меня есть книга Excel, содержащая одну таблицу. Я вижу данные в столбцах, и все выглядит хорошо. Когда я использую мастер импорта для импорта данных, я могу видеть столбцы и данные предварительного просмотра, но данные не все передаются при импорте. Ошибок нет, и процесс импорта завершается – он просто вставляет в таблицу кучу нулевых значений.
Кажется, что это происходит чаще всего с числами – так, допустим, у меня есть три столбца для имени, фамилии и идентификационного номера. Я получу все имена и фамилии, а также некоторые идентификационные номера. Я не могу найти образец того, что происходит.
Раньше я это случался раньше, и я заметил, что во время процесса импорта были выбраны две таблицы: DataImport и DataImport $ – и первый из них потерпит неудачу, как описано выше, а второй будет импортироваться безупречно. На этот раз можно выбрать только одну таблицу.
В основном я использую документ XLS и 32-разрядный мастер импорта в 64-разрядной системе, но я готов попробовать что угодно.
Любые идеи о том, почему существуют две таблицы (иногда) и почему этот импорт не удался?
Ответ на ваш вопрос может включать данные HOW, которые хранятся в Excel.
Я просто столкнулся с той же проблемой. У меня был столбец, содержащий два типа значений: числовые и числовые с тире. (например, 51000 и 2009-00949) Мне нужно было импортировать их как в NVARCHAR, так и в VARCHAR, но мастер импорта SQL (SQL2005) импортировал только цифры, а не числа с тире или числами с тире, а не числами , в зависимости от того, какой тип был в первой записи. Значения, которые не были импортированы, будут иметь «нулевое» значение в поле, что делает мои записи бесполезными.
Я попытался использовать опцию «Формат | Ячейки» в Excel (числовое, текстовое, общее и т. Д.) И различные варианты сопоставления в SQL (nvar, nvarchar, varchar, sqlvariant, float) без успеха.
Решением было использовать параметр «Данные | Текст в столбцы» в Excel, а не параметр форматирования ячейки для хранения числового значения в виде текста. Когда я использовал это в столбце, числовые значения (например, 51000) преобразуются в числа, хранящиеся в виде текстового значения (в верхнем левом углу появляется небольшая ошибка треугольника), цифры с тире остались в виде текста. Мне пришлось оставить данные в этом формате с небольшой зеленой ошибкой треугольника, иначе он не смог бы успешно импортировать SQL. Когда данные в столбце были сохранены в этом формате, два типа данных столбца (числовые и числовые с тире) импортированы правильно с другими данными записи, а в столбце не указаны значения нуля.
Моя проблема заключалась в том, что файл, который я импортировал, был более старым и несколько злокачественным файлом excel. Я открыл файл и сохранил его как .xlsx, и файл был успешно импортирован без нулевых данных.
Я смог решить проблему, сортируя данные, чтобы текстовые данные были сверху. Таким образом, SQL Server знал, что это текстовые данные, а не числовые данные.
Вы используете мастер импорта, нет? Нажмите « Edit Mappings на странице «Выбор исходных таблиц и просмотров» мастера и проверьте столбцы «Тип», «Невозможность» и «Размер» для каждого столбца источника. Похоже, что что-то неправильно отображается.
Скорее всего, это предположительно пустая строка, в результате чего Sql Server игнорирует остальную часть данных. Бу, конечно, вы могли бы поделиться схемой файла excel и первых пяти строк? Правильные три и следующие две записи.
Выберите все строки этого столбца и измените тип на текст в excel, затем выберите весь столбец и измените тип на текст. Будет определенно работать.
У меня также есть проблема. Единственный способ, которым я смог его решить, – сохранить файлы .xlsx в виде CSV-файлов, а затем использовать CSV-файлы в SQL Server «Импорт данных».
Казалось бы, интеграция между Microsoft Excel и Microsoft SQL Server будет более чистой.
Мои версии: Excel 2013. SQL Server 2012.
Я столкнулся с той же проблемой. Использование файла .xlsx решило мою проблему.
Наконец, форматирование ячеек для генерала работало для меня там, где есть числовое значение, раньше оно показывало% s, но теперь оно решено.
excel.bilee.com
Импорт данных из Excel в SQL Server MS Excel онлайн
Я просто попытался добавить данные из файла Excel в SQL Server. Я могу импортировать в целом новую таблицу, но это означает, что я должен снова назначить индексы. Можно ли импортировать в существующую таблицу?
Я видел еще один вопрос, похожий на это, и я попробовал то, что там было предложено, нажав «написать запрос, чтобы указать передачу данных»,
Я ввел следующий запрос
INSERT INTO Customer (Customer_Id, Customer_Name, Customer_Company, Address, Phone) SELECT A.[Column1], A.[Column2], A.[Column3], A.[Column4], A.[Column5] FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=D:\Excel.xls;HDR=YES', 'select * from [Sheet1$]') AS A;Любые подсказки?
Solutions Collecting From Web of "Импорт данных из Excel в SQL Server"
Самый простой способ импортировать данные из Excel для одностороннего импорта – использовать мастер импорта и экспорта SQL Server, как показано на рисунке в вопросе. Вы должны выбрать Microsoft Excel в качестве источника данных, указать путь к вашей электронной таблице и указать, содержит ли первая строка заголовки столбцов. Затем укажите целевой SQL-сервер и базу данных.
Выберите другой вариант из выбранного на диаграмме – «Скопировать данные из одной или нескольких таблиц или представлений». Затем вы можете выбрать рабочий лист в своей электронной таблице, который вы хотите импортировать, и указать целевую таблицу, в которую вы хотите поместить данные. Важно отметить, что вы можете редактировать сопоставления, чтобы данные из вашей таблицы попадали в правильные столбцы в таблице – либо существующую таблицу, либо новую таблицу. За кулисами мастер генерирует аналогичный скрипт в тот, который находится в вашем вопросе, но вам не стоит беспокоиться об этом, если вы правильно настроили мастер.
Из памяти вы также можете преобразовать это в пакет SSIS, чтобы он повторялся.
Вы можете просто скопировать и вставить excel из ячеек в sql-сервере. : DD
Я вижу это прямо сейчас, когда сталкиваюсь с той же проблемой, что и вы.
Это то, что я сделал:
Я копирую свои данные из excel:
Далее в sql-сервере я заказываю таблицу для создания скрипта для редактирования 200 строк:
И затем в последней строке на строках редактирования вы пропустите значения:
Вот и все! Очень просто
excel.bilee.com