powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Импорт данных из Excel в DW
15 сообщений из 15, страница 1 из 1
Импорт данных из Excel в DW
    #35184708
Andr___!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообщем нужно данные из документа .xls перетащить каким-то образом в DW для дальнейшего сохранения в базе..
Подскажите куда копать
функция ImportFile с файлами .xls не работает
какие ещё функции или DW можно для этого использовать ??
Заранее спасибо!
...
Рейтинг: 0 / 0
Импорт данных из Excel в DW
    #35184725
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Файлы Excel могут быть источниками данных ODBC, на форуме уже обсуждалось...
...
Рейтинг: 0 / 0
Импорт данных из Excel в DW
    #35184795
Andr___!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин МаркФайлы Excel могут быть источниками данных ODBC, на форуме уже обсуждалось...
Test connection не проходит в ODBC,пишет ошибку
cannot open workbook,Ole error code(80) :D:\reestr.xls
...
Рейтинг: 0 / 0
Импорт данных из Excel в DW
    #35184924
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andr___! Локшин МаркФайлы Excel могут быть источниками данных ODBC, на форуме уже обсуждалось...
Test connection не проходит в ODBC,пишет ошибку
cannot open workbook,Ole error code(80) :D:\reestr.xls
Значит наверное какие-то проблемы с драйвером ODBC? Можно сохранить файл Excel например как dbf и пытаться уже работать с ним.
...
Рейтинг: 0 / 0
Импорт данных из Excel в DW
    #35184997
alexis glinski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andr___!Test connection не проходит в ODBC,пишет ошибку
cannot open workbook,Ole error code(80) :D:\reestr.xls
может файл одновременно в Excel открыт?
...
Рейтинг: 0 / 0
Импорт данных из Excel в DW
    #35185179
Andr___!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет не открыт..
Ну я вообще правильно делаю??
1.в одбс добавляю новый пользовательский DNS
2.Выбираю драйвер PB DATADIRECT OEM 4.10 ExcelWorkbook (*.xls)
3.Прописываю в DataSoursName например reestr,Description можно в пр-пе неуказывать
а в поле DatabaseWorkbook как я понимаю надо указать путь к файлу Экселя (например D:\reestr.xls)
4.На вкладке advensed нажимаю Translate и указываю OEM to ANSI
5.Применить,ОК!
Кликаю на созданом DSN,он открывается,кликаю Test Connection---ОШИБКА????

Или надо как-то по другому????
...
Рейтинг: 0 / 0
Импорт данных из Excel в DW
    #35185254
если у тебя установлен ексель,
то должен быть родной екселевский драйвер
и настроенный DSN (типа "Exel Files")

пробуй через него.
...
Рейтинг: 0 / 0
Импорт данных из Excel в DW
    #35186096
Andr___!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
там нельзя сделать тест connection
...
Рейтинг: 0 / 0
Импорт данных из Excel в DW
    #35186518
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну так тестируй через PB или тот-же Ексель!
...
Рейтинг: 0 / 0
Импорт данных из Excel в DW
    #35186988
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А через ole dw заполнить?
Гораздо стабильней
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
Импорт данных из Excel в DW
    #35197006
Andr___!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в PB предусмотрена такая возможность,чтобы в OLE-объект можно было загружать нажный мне файл(лис Эксцеля) или в нём может храниться только то на основе чего создан объект????
...
Рейтинг: 0 / 0
Импорт данных из Excel в DW
    #35197046
Фотография urvas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Формат документа (в Екселе) постоянный, т.е. положение данных в полях неизменно, то можно попробовать коннектиться череэ ОЛЕ. Вот кусок работающего кода:

OLEObject lole_Excel
OLEObject lole_Workbook
OLEObject lole_Worksheet;
String ls_WorkbookName

// загружаем Excel и открываем XLS-файл
lole_Excel = create OLEObject
SetNull(ls_WorkbookName)
li_retVal=lole_Excel.ConnectToNewObject("Excel.Application")

if li_retVal <> 0 then
MessageBox("Ошибка", 'Невозможно загрузить приложение "Excel"!', StopSign!, OK! )
return False
End If

lole_Workbook = lole_Excel.Application.Workbooks.Open(this.is_excel_file)

if not IsValid(lole_Workbook) then
MessageBox("Ошибка", 'Невозможно открыть Excel Workbook по имени файла "' + this.is_excel_file + '"!', StopSign!, OK! )
destroy lole_Workbook
return False
end if
ls_WorkbookName=lole_Workbook.Name
lole_Worksheet=create OLEObject
lole_Worksheet=lole_Excel.Application.Workbooks(ls_WorkbookName).Worksheets(WORKSHEET_NUM)


if wf_get_row_range ( lole_Worksheet, ll_begRow, ll_endRow ) = false then
...


....
//-- ищем первую строку
ll_begRow = 0
ll_endRow = 0
FOR ll_Row = 1 TO 20
ls_tmp = String(lole_Worksheet.Cells(ll_Row, ii_col_contract).Value)
IF (Not IsNull(ls_tmp)) and ls_tmp <> '' THEN
IF Match( ls_tmp, "№") THEN
...
Рейтинг: 0 / 0
Импорт данных из Excel в DW
    #35197069
Andr___!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это надо прописать на событие Click для OLE DW что ли????Или куда
...
Рейтинг: 0 / 0
Импорт данных из Excel в DW
    #35197143
Фотография urvas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С OLE DW этот код вообще никак не сязан. Есть окно со стандартной возможностью выбрать файл Экселя из списка. После выбора файла вызывается функция его обработки , часть кода которой и приведена выше.
...
Рейтинг: 0 / 0
Импорт данных из Excel в DW
    #35210570
Попробуйте импортировать через буфер обмена
1) Делаем datawindow - буфер
2) готовим для него windows руками (маркировать - взять в буфер)
или автоматом через OLE
Здесь надо учесть мелкие заморочки типа формата (пробелы убрать ) и тп

3) вставляем в dw

4) Делаем все что надо
Если надо много и быстро то сохраняем DW в базу и далее sql

---------------------------
Для универсальности и наглядности я обычно делаю так:

1) открываю пустое DW - пользователь видит структуру принимаемых данных
и сам готовит буфер в EXcel
2) Вставляет
3) Выполняет импорт
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Импорт данных из Excel в DW
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]