Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
lis5131
3 / 3 / 1
Регистрация: 27.05.2012
Сообщений: 174
#1

Выбор листов в книге Excel из combobox1 - Delphi

09.06.2015, 18:20. Просмотров 520. Ответов 0
Метки нет (Все метки)

Ситуация такая вот листинг загрузки их Excel:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
const
  xlCellTypeLastCell = $0000000B;
var
                 Sheet : OLEVariant;
                ListExcel, Excel : Variant;
             i,ii,i1,r : Integer;  // Г—ГЁГ±Г«Г*
                  s,s1 : String;   // Ñòðîêè
begin
    if not FileExists(OpenDialog1.FileName+'.xlsx') then  begin
     MessageDlg('Нет файла с переводом', mtError, [mbYes], 0);   // Проверка наличая файла
     Exit;
    end;
    //создаем Excel
    Excel:= CreateOleObject('Excel.Application');
    //делаем окно Excel невидимым
    Excel.Visible := false;
    //открываем OpenDialog1
    Excel.Workbooks.Open(OpenDialog1.FileName+'.xlsx');
    // ÑîçäГ*äèì Г*îâóþ ГІГ*áëèöó
    //ii:=combobox1.ItemIndex; //тут получаем индекс выбранного листа (дальше должно открыватся выбранный лист)
    //тут подключаем нашу книгу
    Sheet:= Excel.Workbooks[ExtractFileName(OpenDialog1.FileName+'.xlsx')].WorkSheets[1];
    //активируем последнюю ячейку
    Sheet.Cells.SpecialCells(xlCellTypeLastCell, EmptyParam).Activate;
    // получаем последнюю строку
    r:= Excel.ActiveCell.Row;
    i1:=2;
    i:=1;
    stringgrid1.RowCount:=2;
    stringgrid1.Cells[1,1]:='';
   Repeat
    s:='';
    s:=Excel.Cells[i1,2];
    StringGRid1.Cells[1,i]:=s;
    stringgrid1.Cells[0,i]:='    '+FormatFloat('0000',i); // № строки
    stringgrid1.RowCount:=stringgrid1.RowCount+1;// добавить в грид строку
    Inc(I); //i := i + 1
    Inc(I1); //i := i + 1
   Until i=r;
    stringgrid1.RowCount:=stringgrid1.RowCount-1;// удалить из грида строку
    Sheet:= Unassigned;
    Excel:= Unassigned;
    StatusBar1.Panels.Items[0].Text:='';
    StatusBar1.Panels.Items[0].Text:= 'Загружено '+OpenDialog1.FileName+'.xlsx';
   end;
Посредствам combobox1 выбираем лист соответственно он должен загружаться дальше. Перечитал кучу тем - но так и не нашел ответа. Может кто нибудь поможет?

Добавлено через 21 час 4 минуты
Не уж то на таком крупном ресурсе не кто не знает?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2015, 18:20
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Выбор листов в книге Excel из combobox1 (Delphi):

Работа с xlsx: Как заставить программу считывать названия листов в книге?
У меня вопрос : Как заставить программу считывать названия листов в книге .И нужны ли какие-нибудь дополнения для работы Delphi 7 с MS...

Название листов Excel
Доброго времени суток. Возник вопрос как прочесть названия листов Excel и записать их CheckListBox1 например чтобы потом загрузить именно...

Создание листов в Excel
Здравствуйте, столкнулся с такой проблемой, нужно экспортнуть из базы в excel данные и создать на каждого человека новый лист. как...

поиск по книге excel в delphi
Други, подскажите как реализовать поиск ячейки по всей книге excel в delphi? Сломал ноги. Не могу найти...

Вывод нескольких листов Excel в один StringGrid
Пытаюсь вывести из Excel листы из файла, в котором больше одного листа в один компонент StringGrid. Первый лист выгружаю, перехожу на...

SELECT * FROM [Лист1$] если excel без листов вообще
Здравствуйте! Может кто нибудь подскажет как вытаскивать данные из excel через sql ADOQuery, если excel файл не содержит листов вообще....

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2015, 18:20
Привет! Вот еще темы с решениями:

Combobox1 + КНОПКА
Мне нужно чтобы при нажатии на кнопку выезжал список из комбобокса. Хоть убейте не работает combobox1.OnChange:=ComboBox1.OnChange

Подсчёт листов в книге Excel
Можно ли составить программу в VBA чтобы она подсчитывала количество листов в книге Excel или же сама определяла номер последнего листа?

Работа с Excel: Узнать количество листов в книге
Есть необходимость определить количество созданных и заполенных (не пустых) листов в книге Excel. Полученное значение записывается в...

Как во всей книге Excel из 10-ти листов удалить " " двойные и более пробелы на " "
Очень хочется удалить во всей книге из 25 тысяч строк более одного пробелов одним махом, решится это кнопкой скорее всего дополнительно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru