Страница 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 еще никто не отменял.