powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как узнать имя первого листа в Экселе?
10 сообщений из 10, страница 1 из 1
Как узнать имя первого листа в Экселе?
    #33957880
Мальчишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как узнать имя первого листа в Экселе не прибегая к запуску самого Экселя?
Считываю данные с помощью Дельфи, MS Jet 4.0 из самого файла с помощью цепочки "файл *.xls"->ADO (Select * from <Имя листа>)
Хотелось бы "Имя листа" не писать вручную, а чтобы всегда из первого листа выбирались данные
...
Рейтинг: 0 / 0
Как узнать имя первого листа в Экселе?
    #33959447
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К листам можно обращаться не только по имени, но и по номеру.
...
Рейтинг: 0 / 0
Как узнать имя первого листа в Экселе?
    #33962087
Мальчишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlК листам можно обращаться не только по имени, но и по номеру.
как?
...
Рейтинг: 0 / 0
Как узнать имя первого листа в Экселе?
    #33962410
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может он имел в виду Sheets(1), Sheets(2)...
...
Рейтинг: 0 / 0
Как узнать имя первого листа в Экселе?
    #33963888
Мальчишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orunbekМожет он имел в виду Sheets(1), Sheets(2)...
неа, не пашет так
...
Рейтинг: 0 / 0
Как узнать имя первого листа в Экселе?
    #33964492
Taranaga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мальчишка orunbekМожет он имел в виду Sheets(1), Sheets(2)...
неа, не пашет так...
Код: plaintext
msgbox(sheets( 1 ).name)
Пишет?
...
Рейтинг: 0 / 0
Как узнать имя первого листа в Экселе?
    #33965148
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это и не должно работать, здесь же запрос идет, а в запросе ммм... наверно без запуска excel'а не сойдет наверно, попробуй в xls-файл внутрь заглянуть, может быть там на фиксированном месте в файле хранятся имена файла? ммм... но думаю лучше всего запустить excel.
...
Рейтинг: 0 / 0
Как узнать имя первого листа в Экселе?
    #33965173
Taranaga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orunbekЭто и не должно работать, здесь же запрос идет, а в запросе ммм... наверно без запуска excel'а не сойдет наверно, попробуй в xls-файл внутрь заглянуть, может быть там на фиксированном месте в файле хранятся имена файла? ммм... но думаю лучше всего запустить excel.А ведь прав...
МальчишкаХотелось бы "Имя листа" не писать вручную, а чтобы всегда из первого листа выбирались данные2Мальчишка - а как у тебя сейчас выглядит строка в которой ты указываешь имя листа "вручную"?
...
Рейтинг: 0 / 0
Как узнать имя первого листа в Экселе?
    #33965614
Фотография k-nike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так наверное.
Код: plaintext
Excel.Sheets.Item[ 1 ]
http://www.sql.ru/forum/actualthread.aspx?tid=327442 еще глянь.

P.S. С такими вопросами лучше на соответствующий форум.
...
Рейтинг: 0 / 0
Как узнать имя первого листа в Экселе?
    #33969600
Мальчишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Taranaga...
Код: plaintext
msgbox(sheets( 1 ).name)
Пишет?
А разве для этого не надо запускать Эксель? Если надо, то я так и делаю:
Код: plaintext
1.
  ExcelApp.Workbooks.Open(<путь к файлу>);
  Result:=ExcelApp.sheets[SheetNumber].name;
orunbek Это и не должно работать, здесь же запрос идет, а в запросе ммм... наверно без запуска excel'а не сойдет наверно, попробуй в xls-файл внутрь заглянуть, может быть там на фиксированном месте в файле хранятся имена файла? ммм... но думаю лучше всего запустить excel.
В файле все в своем формате, ИМХО если и можно достать, то с помощью драйверов (Jet или ODBC) - то, что они "видят" имена листов (для них имена листов - имена таблиц) это факт, но как этим востпользоваться...
Taranaga 2Мальчишка - а как у тебя сейчас выглядит строка в которой ты указываешь имя листа "вручную"?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
     If  CheckBox3.Checked=true
       then  SheetName:=NameExcelSheet( 1 )
       else  SheetName:=ComboBox2.Text;
     If  SheetName = 'ошибка'
       then  SheetName:=ComboBox2.Text;
    ADOQuery1.sql.Text:='Select * From ['+ SheetName +'$]';
    DataSource1.DataSet:=ADOQuery1;
    ADOQuery1.Open;
, где NameExcelSheet - функция "достающая" имя листа (напоминаю, что все в Дельфи)

Проблема в принципе не такая серьезная - открытие Экселя становится заметным тогда, когда размер файла более 2 метров - при таком размере обработка этого файла (экспорт в Оракл -> обработка его там -> выгрузка) занимает порядка 20 минут ;) Так что время определения имени листа (<5-10 сек) уже несущественно.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как узнать имя первого листа в Экселе?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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