Страница 1 из 1

Определение диапазонов при регистрации Excel файла

Добавлено: 23 янв 2013, 16:17
LilLoco
Добрый день.
Подскажите пожалуйста как определить диапазоны ячеек.
Регистрирую так:

Код: Выделить всё

Register Table s_filename Type XLS Titles Range "Лист1!A2:IK16670" Into tableName
Сейчас диапазон указывается вручную. Как его определить автоматически?

Re: Определение диапазонов при регистрации Excel файла

Добавлено: 23 янв 2013, 19:06
Cancer
Опустите фразу Range. Так:
Register Table s_filename Type XLS Titles Into tableName

Re: Определение диапазонов при регистрации Excel файла

Добавлено: 23 янв 2013, 20:19
thegeo
Register Table "C:\test.xls" Type XLS Range "Список!A1:D200" Into "C:\tbTest"
здесь Список - имя листа
На рисунке вид окна таблицы после загрузки в MI.

Re: Определение диапазонов при регистрации Excel файла

Добавлено: 24 янв 2013, 07:25
LilLoco
Cancer, по предложенному вами варианту, заголовки не считываются, они находятся в таблице(

Код: Выделить всё

 Register Table s_filename Type XLS Titles Into tableName 
, к сожалению не работает.

thegeo, вы немного не поняли наверное. Мне необходимо чтобы первая строка - была заголовками, а диапазон писался в таблицу.

Re: Определение диапазонов при регистрации Excel файла

Добавлено: 24 янв 2013, 09:13
juffin_h
Titles работает только совместно с Range.
Как вариант, регистрировать файл два раза.
Примерный код:

Код: Выделить всё

Register Table "aaa.xls"  TYPE XLS Into "aaa.TAB"
Open Table "aaa.TAB"
iCols = TableInfo(aaa, TAB_INFO_NCOLS)
iRows = TableInfo(aaa, TAB_INFO_NROWS)
sRange = “A2:” + Chr$(iCols + 64) + Str$(iRows)
Close Table aaa
Register Table "aaa.xls"  TYPE XLS Titles  Range sRange Into "aaa.TAB"

Re: Определение диапазонов при регистрации Excel файла

Добавлено: 24 янв 2013, 09:17
LilLoco
Думал тоже о том, чтобы 2 раза открывать файл. Не очень понравился этот вариант, т.к. появляются дополнительные вычисления.

По поводу Titles теперь ясно.
Видимо, придется использвать вариант с 2мя регистрациями.

Re: Определение диапазонов при регистрации Excel файла

Добавлено: 24 янв 2013, 14:36
thegeo
Действительно не совсем понял постановку задачи.
Использую оператор
Register Table "C:\test.xls" TYPE XLS Titles Range "Список!A2:D200" Into "C:\tbTest"
И получаю результат, показанный на рисунке. В чем проблема?

Re: Определение диапазонов при регистрации Excel файла

Добавлено: 24 янв 2013, 14:41
LilLoco
thegeo писал(а):В чем проблема?
Проблема в том, что Вы указываете диапазон вручную (Список!A2:D200). А как его получить программно?

Re: Определение диапазонов при регистрации Excel файла

Добавлено: 06 фев 2013, 21:53
Boris
LilLoco писал(а):
thegeo писал(а):В чем проблема?
Проблема в том, что Вы указываете диапазон вручную (Список!A2:D200). А как его получить программно?
а какое отношение к мапинфо имеет этот вопрос? я знавал людей, которые печатали документы Word Через PowerPoint и пришли к пониманию, что у них есть "проблема" только на документе в 200 страниц. откуда взялась фантазия, что именно манинфо должна выдавать значение заполненных вами ячеек в одном из листов книги Exel?
Ну, да через оболочку она это делает, но ведь для этого она требует, что бы в системе стояли драйвера Microsoft для чтения документов Office.
Вроде оператор Excel.Worlsheet.UsedRange еще никто не отменял.