Delphi excel объединить ячейки
Сегодняшняя статья блога будет целиком посвящена работе с Excel Range или, говоря другими словами — работе с диапазонами ячеек Excel.
Про работу с этими объектами я уже вкратце говорил, а сегодня хотел бы поделиться с вами более полной информацией. Итак, начнем с самого простого.
4 способа добавления нового листа в Excel
В большинстве случаев для того чтобы добавить лист в документ Эксель используют панель с ярлыками листов, которая находится в нижнем левом углу окна. Если вы обратите внимание на эту панель, то вы увидите ярлыки листов, а справа от них будет небольшая кнопка для добавления новых листов. На скриншоте внизу показано, как эта кнопка выглядит в Excel 2010 и Excel 2013.
Параметр | Тип | Описание |
Destination | Variant | представляет собой объект Range уже заполненных ячеек. Эти ячейки должны входить в автозаполняемый диапазон |
Type | Integer | тип автозаполнения (возможные значения см. ниже) |
План статьи:
Вначале рассмотрим вариант чтения данных использованием которого грешат те, кто только начинает свое знакомство с Excel в Delphi — чтение данных из каждой ячейки по отдельности. Тестовая процедура с таким вариантом чтения может выглядеть следующим образом:
Счётчик будет в итоге содержать время чтения и вывода в StringGrid данных. Можно было бы сделать счётчик исключительно на чтение данных с листа, но я решил не перегружать исходник лишними переменными. Если будет желание — можете переписать чуть-чуть исходник и получить «чистое» время чтения.
Для теста этого варианта был создан лист Excel, содержащий 143 строки и 142 столбца с данными, т.е. 20306 ячеек с данными. На рисунке ниже представлено значение счётчика после чтения данных:
12 секунд на чтение…а если будет 1000 строк и 1000 столбцов? Так можно и не дождаться окончания операции.
На деле реализация этого варианты работы окажется даже проще, чем представленного выше. Смотрите сами. Вот вариант чтения данных целым диапазоном:
Здесь мы ввели всего одну переменную FData типа Variant. В эту переменную мы прочитали за 1 операцию весь диапазон, занятый данными. После того как диапазон прочитан FData будет содержать матрицу, каждый элемент которой будет типом данных, определенным в Excel.
Как видите, прирост скорости оказался колоссальным, учитывая даже то, что в счётчик попало время обновления StringGrid’а.
Здесь было бы уместно показать и обратный метод работы с Excel, т.е. запись данных на лист Excel с использованием вариантного массива.
Добавить в экселе страницу – Как создать, удалить, скрыть и скопировать лист в Excel? MS Office Excel — Работа на компьютере: инструкции и советы — Образование, воспитание и обучение
- Каким образом можно импортировать данные из таблицы Excel в таблицу БД?
- Можно ли использовать функции Drag&Drop? Скопировать диапазон в Excel и вставить в таблицу (для отображения данных использую компонент DBGrid)?
Наиболее часто применяемый вариант добавления – это использование кнопки, которая называется «Вставить лист». Это связанно с тем, что данный вариант наиболее интуитивно понятный из всех имеющихся. Расположена кнопка добавления над строкой состояния слева от перечня уже имеющихся в документе элементов.
Что делать если в Excel нет листов
Иногда пользователи сталкиваются с тем, что внизу окна Эксель нет панели с листами и соответственно кнопки для добавления новых листов тоже нет. Выглядит это примерно так, как на скриншоте внизу.
Если вы столкнулись с такой проблемой, то скорее всего, это означает что у вас в настройках отключено отображение листов. Для того чтобы включить отображение листов сделайте следующее:
- Если вы пользуетесь Excel 2003, то перейдите в меню «Сервис» и откройте «Параметры». Дальше перейдите на вкладку «Вид» и включите функцию «Показывать ярлычки листов»
- Если вы пользуетесь Excel 2007, то нужно нажать на кнопку «Офис» и открыть «Параметры Excel». Дальше перейдите в раздел «Дополнительно» и включите функцию «Показывать ярлычки листов»
- Если вы пользуетесь Excel 2010 или более новой версией, то нажмите на кнопку «Файл» и откройте «Параметры». Дальше перейдите в раздел «Дополнительно» и включите функцию «Показывать ярлычки листов»
На скриншоте внизу показано, как это выглядит в Excel 2010.
После того как сделаете вышеописанное, вернитесь к вашему документу. Скорее всего, теперь листы будут отображаться нормально, а рядом с ними будет кнопка для добавления нового листа.
Как добавить лист в Excel?
Необходимо нажать ЛКМ на специальный элемент под названием «Новый лист», располагающийся правее от уже существующих рабочих листов в нижней части табличного процессора. Сама кнопка имеет вид небольшого плюсика темного оттенка. Наименование новому, только что созданному рабочему листу присваивается автоматически. Название листа можно отредактировать.