05.01.2016 01:19 | |
atemirovПосетитель Количество сообщений 5 Зарегистрирован: 02-04-2015, 23:12:52 |
Создание схемы импорта
Доброго времени суток! В моем прайсе есть данные, которые расположены в столбцах АА, АК, AL и т.п. Если в схеме импорта указываю АК, то программа берет данные из столбцов А и К. Как сделать, чтобы данные брались из одного столбца? |
05.01.2016 01:46 | |
supportSupport Количество сообщений 1199 Зарегистрирован: 11-04-2008, 19:11:57 |
Чтение прайс-листа Excel через ODBC/OLEDB
Да, такая проблема существует. В полной версии ее можно решить через выполнение макроса VBA, который скопирует/перенесет необходимые колонки. В бесплатной версии можно воспользоваться чтением прайс-листа не штатными средствами программы, а посредством SQL-запроса который прочитает информацию например из источника ODBC Excel и запишет в нужные колонки/поля для предварительного просмотра прайса. Приложите прайс-лист (или его часть, достаточную для создания примера и тестирования SQL-запроса) и укажите какая у вас версия Microsoft SQL Server (в том числе для какой разрядности процессора) и какая версия Microsoft Office/Excel (и его разрядность). |
05.01.2016 11:56 | |
atemirovПосетитель
Тема начата
Зарегистрирован: 02-04-2015, 23:12:52 |
Спасибо за ответ! Версия Microsoft SQL Server 2008R2 x64 Версия Microsoft Office 2013 x64 |
05.01.2016 12:29 | |
supportSupport Количество сообщений 1199 Зарегистрирован: 11-04-2008, 19:11:57 |
Загрузка прайс-листов из XML
Судя по присутствию нескольких колонок Size, сложилось впечатление, что вы преобразовали XML в XLSX и затем импортируете в базу данных. Если у вас файл изначально в XML - то его так же можно легко импортировать. |
05.01.2016 12:53 | |
atemirovПосетитель
Тема начата
Зарегистрирован: 02-04-2015, 23:12:52 |
Изначально прайс получаю в csv, приложил Вам уже откорректированный прайс, который заливаю на сайт. Приложил изначальный вариант |
05.01.2016 14:27 | |
supportSupport Количество сообщений 1199 Зарегистрирован: 11-04-2008, 19:11:57 |
Какой из прайс-листов вы будете постоянно импортировать, чтобы именно для него сделать схему импорта? |
05.01.2016 14:49 | |
atemirovПосетитель
Тема начата
Зарегистрирован: 02-04-2015, 23:12:52 |
В идеале - первый. |
05.01.2016 15:17 | |
supportSupport Количество сообщений 1199 Зарегистрирован: 11-04-2008, 19:11:57 |
Чтение CSV средствами MS SQL
Прочитать CSV-файл средствами Microsoft SQL Server можно несколькими способами, самый простой через BULK INSERT. Например, если вы выполните в SQL Server Management studio следующий SQL-запрос, то он вернет вам набор данных из вашего файла CSV. Код
Вам останется только перенести данные во временную таблицу #TMP_PRICE которая используется в программе для предварительного просмотра прайса. В итоге, sql-запрос чтобы импортировать данный прайс-лист поставщика из CSV будет выглядеть так: Код
Его нужно вставить в соответствующее поле схемы импорта. |
05.01.2016 15:52 | |
supportSupport Количество сообщений 1199 Зарегистрирован: 11-04-2008, 19:11:57 |
Microsoft Access Database Engine 2010
Для чтения файлов Excel непосредственно в MS SQL для вашего случая, вам потребуется для начала установить драйвер Microsoft.ACE.OLEDB.12.0. И переконфигурировать сервер СУБД. Код
Затем вы сможете посмотреть названия полей (Путь и имя файла C:\TEMP\price.xlsx следует заменить на свои): Код
и модифицировать SQL-запрос чтения CSV на XLSX. |
05.01.2016 17:32 | |
MaXXПользователь iNETsHOP Количество сообщений 64 Зарегистрирован: 11-11-2008, 04:35:57 |
Как загрузить прайс из Excel через OLE Automation
Мне, когда нужно вытащить какое-то значение ячейки из экселевского листа, открываю его через OLE Automation и читаю из Cells. Сейчас переделал чтение для такого прайса как в примере. Держите вариант на заметку (если колонок не хватает, добавляйте их так же): Код
P.S. Этот код нужно вставить в схему импорта там где SQL-запрос импорта или как-то так называется. |
05.01.2016 18:06 | |
atemirovПосетитель
Тема начата
Зарегистрирован: 02-04-2015, 23:12:52 |
Большое спасибо всем |