var
Excel: variant;
i, j: word;
S: string;
begin
Excel := CreateOleObject('Excel.Application');
Excel.Workbooks.Open(FileName);
Excel.Visible:=True;
for i := 1 to 5 dofor j := 1 to 5 dobegin
S := Excel.Sheets[1].Cells[i,j].Text;
ShowMessage(S);
end;
end;
Here is a translation of the text into Russian:
Это программный код Delphi, который использует библиотеку объектов Excel для чтения данных из файла Excel и отображения их в сообщении.
Рассмотрим, что код делает:
Первая строка var Excel: variant; объявляет переменную Excel типа variant, которая будет использоваться для хранения экземпляра объекта приложения Excel.
Следующие две строки i, j: word; и S: string; объявляют переменные i, j и S типов word (короткое целое) и string, соответственно. Они будут использоваться как счетчики цикла и для хранения строкового значения из файла Excel.
Код создает экземпляр объекта приложения Excel с помощью функции CreateOleObject, передавая строку 'Excel.Application' в качестве аргумента. Это делается в строке Excel := CreateOleObject('Excel.Application');.
Следующие три строки Excel.Workbooks.Open(FileName);, Excel.Visible:=True; и for i := 1 to 5 do for j := 1 to 5 do открывают файл Excel, указанный переменной FileName (не показан в этом коде), устанавливают видимость приложения Excel в True и затем проходимся по диапазону ячеек (от строки 1, столбца 1 до строки 5, столбца 5).
Внутри цикла код читает текстовое значение из ячейки [i, j] с помощью Excel.Sheets[1].Cells[i,j].Text, хранит его в переменной S и затем отображает его в сообщении с помощью ShowMessage(S).
Альтернативное решение было бы использовать встроенную поддержку Delphi для файлов Excel через компонент TExcelFile, который может читать и записывать данные без необходимости установки приложения Excel на системе. Вот пример, как можно модифицировать код:
uses ..., ExcelFile;
var
XLS: TExcelFile;
Sheet: TWorksheet;
Cell: TCell;
begin
XLS := TExcelFile.Create('example.xlsx');
try
XLS.Load();
Sheet := XLS.Worksheets[1];
for i := 1 to 5 do
for j := 1 to 5 do
begin
Cell := Sheet.Cells[i, j];
ShowMessage(Cell.Value);
end;
finally
XLS.Free();
end;
end.
В этом коде мы создаем экземпляр TExcelFile и загружаем файл Excel. Затем мы доступ ourselves к листу с помощью свойства Worksheets[1] и проходимся по ячейкам, как раньше. Однако вместо использования Excel.Sheets[1].Cells[i,j].Text, мы используем свойство Cells[i, j].Value для чтения значения ячейки.
Статья описывает программу на языке Delphi, которая считывает данные из ячеек Microsoft Excel и выводит их в сообщении.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.