Как импортировать файл Excel в SQL Server? Импорт данных в sql из excel


import - Как импортировать файл Excel в SQL Server?

Есть много статей о написании кода для импорта файла excel, но это ручная/краткая версия:

Если вам не нужно программно импортировать файл Excel с помощью кода, вы можете сделать это очень быстро, используя меню в SQL Management Studio.

Самый быстрый способ получить ваш файл Excel в SQL - с помощью мастера импорта:

  • Откройте SSMS (Sql Server Management Studio) и подключитесь к базе данных, в которую вы хотите импортировать свой файл.
  • Импорт данных. В SSMS в проводнике объектов в разделе "Базы данных" щелкните правой кнопкой мыши базу данных назначения, выберите Задачи, Импорт данных. Появится мастер импорта (обычно вы можете просто нажать "Далее" на первом экране).

  1. В следующем окне " Выберите источник данных", выберите Excel:

    • В раскрывающемся списке "Источник данных" выберите Microsoft Excel (этот параметр должен появиться автоматически, если у вас установлен Excel).

    • Нажмите кнопку "Обзор", чтобы выбрать путь к файлу Excel, который вы хотите импортировать.

    • Выберите версию файла excel (97-2003 обычно отлично подходит для файлов с расширением .XLS или использует 2007 для более новых файлов с расширением .XLSX)
    • Установите флажок "Первая строка с заголовками", если ваш файл excel содержит заголовки.
    • Нажмите "Далее".

  1. На экране Выбрать место назначения > выберите целевую базу данных:
    • Выберите "Имя сервера", "Аутентификация" (обычно ваше имя пользователя и пароль) и выберите базу данных в качестве адресата. Нажмите "Далее".

  1. В окне Укажите копию таблицы или запрос:

    • Для простоты просто выберите "Копировать данные из одной или нескольких таблиц или представлений", нажмите "Далее".
  2. ' Выберите исходные таблицы: выберите рабочий лист из файла Excel и укажите таблицу назначения для каждого рабочего листа. Если у вас еще нет таблицы, мастер очень любезно создаст новую таблицу, которая соответствует всем столбцам из вашей таблицы. Нажмите "Далее.

  1. Нажмите "Готово".
ответ дан rockspider 21 сент. '16 в 10:30 источник поделиться

Вы также можете использовать 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;

Я действительно не понимаю синтаксис второй части этого. И я получаю синтаксическую ошибку в предложении FROM .

Любые подсказки?

Solutions Collecting From Web of "Импорт данных из Excel в SQL Server"

Самый простой способ импортировать данные из Excel для одностороннего импорта – использовать мастер импорта и экспорта SQL Server, как показано на рисунке в вопросе. Вы должны выбрать Microsoft Excel в качестве источника данных, указать путь к вашей электронной таблице и указать, содержит ли первая строка заголовки столбцов. Затем укажите целевой SQL-сервер и базу данных.

Выберите другой вариант из выбранного на диаграмме – «Скопировать данные из одной или нескольких таблиц или представлений». Затем вы можете выбрать рабочий лист в своей электронной таблице, который вы хотите импортировать, и указать целевую таблицу, в которую вы хотите поместить данные. Важно отметить, что вы можете редактировать сопоставления, чтобы данные из вашей таблицы попадали в правильные столбцы в таблице – либо существующую таблицу, либо новую таблицу. За кулисами мастер генерирует аналогичный скрипт в тот, который находится в вашем вопросе, но вам не стоит беспокоиться об этом, если вы правильно настроили мастер.

Из памяти вы также можете преобразовать это в пакет SSIS, чтобы он повторялся.

Вы можете просто скопировать и вставить excel из ячеек в sql-сервере. : DD

Я вижу это прямо сейчас, когда сталкиваюсь с той же проблемой, что и вы.

Это то, что я сделал:

Я копирую свои данные из excel:

Далее в sql-сервере я заказываю таблицу для создания скрипта для редактирования 200 строк:

И затем в последней строке на строках редактирования вы пропустите значения:

Вот и все! Очень просто

excel.bilee.com