autofilter excel delphi



Автор Андрей задал вопрос в разделе Другие языки и технологии

Ecxel в Delphi и получил лучший ответ

Ответ от Gennady[гуру]
Доброго времени суток.
Боюсь пальцами и парой слов не обойдемся. Если интересует про что читать, то про СОМ-технологии. Ну а примерчик могу показать. Кстати, что вы подразумеваете под "открыть екселевскую таблицу в Делфи"? Из делфи запустить ексель и поработать в нем или что-то иное?
Вот так можно запустить ексель. Переменные E и D имееют тип Variant и объявлены глобальными.
procedure TForm1.ExcelClick(Sender: TObject);
begin
E := CreateOleObject('Excel.Application'); //создаем Excel
E.WorkBooks.Open('F:DELPHITstProjDimonКнига1.xls'); // открываем файл Excel
E.Visible := True; // делаем Excel видимым
end;
А дальше придется почитать справку по VBA, чтобы добраться до методов созданного сервера. Вот некоторые из них
E.Sheets.Add; // добавляем новый Лист
D := E.Sheets.Item[1]; // ссылка на вставленный лист
E.Sheets.Item[2].Select; // переходим на предыдущий лист
E.Worksheets['Лист1'].Select; // можно сделать активным нужный лист и так
S := E.Cells[1, 7]; // в S содержимое ячейки G1
// так можно отсортироваать некоторый диапазон ячеек по двум полям
E.Worksheets['Лист1'].Range['A1:I6'].Sort (Key1:=e.Worksheets['Лист1'].Columns['G'],
Key2:=e.Worksheets['Лист1'].Columns['F'], Header:=xlNo);
// а так скопировать строку с номером i на другой лист
E.Rows[IntToStr(i)+':'+IntToStr(i)].Copy (Destination := e.Worksheets['Лист4'].Range['A'+IntToStr(i)]);
// так установить автофильтр
E.Selection.AutoFilter (Field:=7, Criteria1:='3');
Если же требуется в какой-то грид поместить данный из книги ексель, то точно так же открываете книгу, только делаете ее невидимой и переписываете данные из ячеек в грид.
В общем, учите матчасть.
Удачи!

Ответ от Зеленая бяка[гуру]
Поищите про использование stringgrid

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Ecxel в Delphi
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*