Импорт из excel в мемо-поле

Nnnnnn
Дата: 23.11.2012 11:05:06
Тупизм напал - как из excel считать в мемо поле один из столбцов? Считывается вообще вся таблица, но один столбец слишком длинный, строки не хватает.
Станислав С...кий
Дата: 23.11.2012 13:06:06
Nnnnnn,
Прежде всего, таблица должна иметь мемо-поле. :)
Вот примерный код:
Off_App = CREATEOBJECT("Excel.Application")
Off_App.Workbooks.Open(<FileName>)
stroka = Off_App.Sheets(1).Cells(row, col).value && считываем данные из ячейки Экселя
select <table>
append blank
replace <table>.<fields> with stroka && вставляем данные в Мемо-поле
Off_App.Quit()
Jonny540
Дата: 23.11.2012 13:30:50
Станислав С...кий
append blank
replace <table>.<fields> with stroka && вставляем данные в Мемо-поле

Наверное, лучше так:
APPEND MEMO MemoFieldName FROM FileName
Иначе следующая ячейка будет заменять значение мемо-поля.
Станислав С...кий
Дата: 23.11.2012 13:37:13
Jonny540
Станислав С...кий
append blank
replace <table>.<fields> with stroka && вставляем данные в Мемо-поле

Наверное, лучше так:
APPEND MEMO MemoFieldName FROM FileName
Иначе следующая ячейка будет заменять значение мемо-поля.

Так это образец был... Далеко не полный, но иллюстрирующий принцип работы... Так-то, по-хорошему, там бы еще надо цикл вставить, чтобы по столбцу бежать... И преобразование Value ячейки листа рабочей книги Excel к типу колонки таблицы....

И еще... Что-то я сомневаюсь, что Append Memo с файлом типа xls сработает так, как это нужно топикстартеру...
Р0032
Дата: 23.11.2012 13:37:35
Не верь этим ображщенным в невежество.
Копини в сторону F1 ( formula one ).
Nnnnnn
Дата: 23.11.2012 13:50:23
Jonny540,

Append memo не подойдет, мне не нужен один столбец, мне нужна вся таблица в целом.
Nnnnnn
Дата: 23.11.2012 13:53:25
Р0032,

хелп большой, что там искать-то?

Особенно досадно, что я это уже делала пару лет назад, но вспомнить не могу как, а исходники удалены уже. И ведь 100% не сложно и ничего особо хитрого нет.
Nnnnnn
Дата: 23.11.2012 13:56:39
Станислав С...кий,

Ну цикл-то я вставила, это и ежу понятно что он там должен быть. (К тому же аналогичный код у меня есть в одной из форм, идея эта мне знакома)
Только почему-то считываются пустые значения (вот это вообще хз из-за чего). И не уверена я что этот способ не обрежет мне строки длиннее 255 символов
AndreTM
Дата: 23.11.2012 14:04:38
Nnnnnn
Только почему-то считываются пустые значения (вот это вообще хз из-за чего).
Так что, сложно поставить suspend и посмотреть, что там считывается и записывается?
Строки, кстати, не обрежутся, и способ - правильный.
Станислав С...кий
Дата: 23.11.2012 14:14:59
Nnnnnn,
У меня работает....
CREATE CURSOR test (tm1 M)
SELECT test
Off_App = CREATEOBJECT("Excel.Application")
Off_App.Workbooks.Open("c:\temp\t1.xls")
FOR i = 1 TO 100
stroka = Off_App.Sheets(1).Cells(i, 4).value 
select test
append blank
replace test.tm1 with stroka 
ENDFOR 
Off_App.Quit()

SELECT test
BROWSE NORMAL 


Вы записываете точно в мемо-поле?
Отладчик есть. Можно взять и посмотреть что считывается...