Импорт из Excel или файла CSV - PullRequest
       2

Импорт из Excel или файла CSV

2 голосов
/ 10 апреля 2011

Мне нужно импортировать данные в таблицу sql, находя строку по столбцу A и помещая столбцы B и C в строку в определенные столбцы данных.

Мой файл Excel / CSV похож на:

Code,Unit,Price
1234,Pack10,1.20
4567,Each,3.40

Мой стол похож на

ItemID Code Name ItemPrice Unit Supplier LastCost SellBy QtyStock Inactive

Мне нужно обновить таблицу из строк в электронной таблице, найти строку кода и заменить столбцы Unit и ItemPrice.

Я пытался использовать стандартные данные импорта, но не вижу, как найти код и затем вставить обязательные поля.

Любая помощь или указание на то, где я могу найти ответ, будут оценены по достоинству.

Ответы [ 2 ]

0 голосов
/ 10 апреля 2011

Чтобы сделать это за один шаг, вы можете использовать OPENROWSET следующим образом:

UPDATE A
   SET [ItemPrice] = B.Price,
       [Unit] = b.Unit
FROM   [SO].[dbo].[PricesTbl] A INNER JOIN
       OPENROWSET('Microsoft.Jet.OLEDB.4.0',
       'Excel 8.0;Database=C:\Prices.xls', 'SELECT * FROM [Sheet1$]') B ON A.CODE=B.CODE
0 голосов
/ 10 апреля 2011

Разбейте проблему на два небольших шага ... Во-первых, просто выполните стандартные импортные данные и поместите содержимое файла Excel в таблицу SQL.После того как вы импортировали данные, просто выполните стандартную инструкцию обновления SQL, чтобы объединить импортированную таблицу и существующую таблицу, чтобы обновить существующую таблицу.

UPDATE e
SET
    Unit = i.Unit,
    ItemPrice = i.Price
FROM
    ExistingTable e JOIN
    ImportedTable i ON i.Code = e.Code
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...