var
MyExcel: Variant;
Rows, Columns: Integer;
begin
MyExcel := CreateOleObject('Excel.Application');
MyExcel.WorkBooks.Open('ExcelFileName');
Rows := MyExcel.ActiveSheet.UsedRange.Rows.Count;
Columns := MyExcel.ActiveSheet.UsedRange.Columns.Count;
Here is the translation of the Delphi code snippet into Russian:
Код на языке Delphi для взаимодействия с Excel!
Код предназначен для открытия файла Excel и последующего извлечения количества использованных строк и столбцов в активной таблице.
Вот разбивка того, что каждый ряд делает:
var MyExcel: Variant; Rows, Columns: Integer;: Объявляем три переменные: MyExcel типа Variant, которая будет хранить объект приложения Excel; Rows и Columns - целые числа, которые будут хранить количество использованных строк и столбцов соответственно.
MyExcel := CreateOleObject('Excel.Application');: Создаем экземпляр объекта приложения Excel с помощью функции CreateOleObject, передавая строку 'Excel.Application'.
MyExcel.WorkBooks.Open('ExcelFileName');: Открываем указанный файл Excel (замените 'ExcelFileName' на ваше актуальное имя файла и пути).
Rows := MyExcel.ActiveSheet.UsedRange.Rows.Count;: Получаем количество использованных строк в активной таблице, доступ к которой мы получаем через свойство UsedRange, которое возвращает объект диапазона, представляющего использованные ячейки в таблице. Затем вызываем метод Count на свойстве Rows объекта диапазона, чтобы получить количество строк.
Columns := MyExcel.ActiveSheet.UsedRange.Columns.Count;: Аналогично получаем количество использованных столбцов, доступ к которому мы получаем через свойство UsedRange, а затем вызываем метод Count на свойстве Columns объекта диапазона.
Код - хороший стартовый пункт, но стоит отметить:
Вам всегда нужно проверять, существует ли файл и может ли быть открыт перед попыткой открытия.
Если вы хотите работать с конкретной таблицей (не только активной), вы можете использовать коллекцию Worksheets вместо ActiveSheet.
Код использует раннюю связь, что означает, что он требует ссылки на тип библиотеки Excel в вашем проекте Delphi. Вы можете добавить эту ссылку, нажав правой кнопкой мыши на ваш проект в менеджере проектов, выбрав "Просмотр" > "Типовая библиотека" и добавив "Excel 12.0 Object Library" (или соответствующей версии для вашего установки Excel).
Вот альтернативное решение с использованием поздней связи:
В этом коде мы используем позднюю связь, чтобы избежать необходимости ссылки на тип библиотеки Excel. Мы также используем VarArrayHighBound для получения количества элементов в каждом измерении свойства Value объекта диапазона. Наконец, мы вызываем Quit на объекте приложения Excel, когда мы закончили с ним, чтобы освободить системные ресурсы.
Статья рассказывает о способе определения количества занятых строк и столбцов в файле Excel с помощью программирования на языке Delphi.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.