Работа с ячейками GridWeb
Доступ к ячейкам в таблице
В этой теме рассматриваются ячейки, изучается самая основная функция GridWeb: доступ к ячейкам.
Каждая таблица содержит объект GridCells, коллекцию объектов GridCell. Объект GridCell представляет собой ячейку в Aspose.Cells.GridWeb. Возможно получить доступ к любой ячейке, используя GridWeb. Существует два предпочтительных метода:
Ниже рассмотрены оба подхода.
Использование имени ячейки
Все ячейки имеют уникальное имя. Например, A1, A2, B1, B2 и т. д. Aspose.Cells.GridWeb позволяет разработчикам получить доступ к любой желаемой ячейке, используя имя ячейки. Просто передайте имя ячейки (в качестве индекса) в коллекцию GridCells объекта GridWorksheet.
Использование индексов строки и столбца
Ячейку также можно распознать по ее расположению в терминах индексов строки и столбца. Просто передайте индексы строки и столбца ячейки в коллекцию GridCells объекта GridWorksheet. Этот подход более быстрый, чем предыдущий.
Доступ и изменение значения ячейки
Доступ к ячейкам в таблице обсуждает доступ к ячейкам. В этой теме расширяется эта дискуссия, чтобы показать, как получить доступ и изменить значения ячеек, используя API GridWeb.
Доступ и изменение значения ячейки
Строковые значения
Прежде чем получать доступ и изменять значение ячейки, нужно знать, как получить доступ к ячейкам. Для получения подробной информации о различных подходах к доступу к ячейкам обратитесь к Доступ к ячейкам в таблице.
У каждой ячейки есть свойство с именем getStringValue(). После того как ячейка получена, разработчики могут использовать метод getStringValue() для доступа к строковому значению ячеек.
Все типы значений
Aspose.Cells.GridWeb также предоставляет специальный метод putValue для каждой ячейки. С помощью этого метода возможно вставить или изменить любой тип значения (логический, целый, двойной, дата-время и строка) в ячейке.
Также существует перегруженная версия метода putValue, которая может принимать любой тип значения в виде строки и автоматически преобразовать его в соответствующий тип данных. Для этого передайте логическое значение true в другой параметр метода putValue, как показано ниже в примере.
Добавление формул в ячейки
Самая ценная функция, предлагаемая Aspose.Cells.GridWeb, - это поддержка формул или функций. У Aspose.Cells.GridWeb есть свой собственный Движок формул, который вычисляет формулы в рабочих книгах. Aspose.Cells.GridWeb поддерживает как встроенные, так и определяемые пользователем функции или формулы. В этой теме подробно рассматривается добавление формул в ячейки с использованием API Aspose.Cells.GridWeb.
Как добавить и вычислить формулу?
Возможно добавлять, получать доступ к и изменять формулы в ячейках, используя свойство Formula ячейки. Aspose.Cells.GridWeb поддерживает определяемые пользователем формулы от простых до сложных. Однако с Aspose.Cells.GridWeb также поставляется большое количество встроенных функций или формул (аналогично Microsoft Excel). Чтобы увидеть полный список встроенных функций, обратитесь к этому списку поддерживаемых функций.
Синтаксис формулы должен быть совместим с синтаксисом Microsoft Excel. Например, все формулы должны начинаться с знака равенства (=).
Чтобы программно добавить формулу, Aspose.Cells.GridWeb будет распознавать ее как формулу, даже если вы не используете знак =, но если конечные пользователи, работающие в GUI, должны его использовать.
Формула добавлена в ячейку B3, но не вычислена GridWeb
На скриншоте выше вы можете видеть, что формула была добавлена в ячейку B3, но еще не была вычислена. Для вычисления всех формул вызовите метод calculateFormula коллекции GridWorksheetControl GridWeb после добавления формул в листы, как показано ниже.
Пользователи также могут вычислять формулы, нажимая кнопку Отправить.
Нажатие кнопки «Отправить» GridWeb
ВАЖНО: Если пользователь нажимает кнопки Сохранить или Отменить, или вкладки листов, все формулы автоматически вычисляются GridWeb.
Результат формулы после вычисления
Ссылка на ячейки из других рабочих книг
С помощью Aspose.Cells.GridWeb можно ссылаться на значения, хранящиеся в разных рабочих книгах в их формулах, создавая сложные формулы.
Синтаксис для ссылки на значение ячейки из другой рабочей книги: НазваниеЛиста!ИмяЯчейки.
Создание проверки данных в ячейке сетки GridWeb
Aspose.Cells.GridWeb позволяет добавлять проверку данных с помощью метода GridWorksheet.getValidations().add(). Используя этот метод, вы должны указать диапазон ячеек. Но если вы хотите создать проверку данных в одной ячейке сетки, то вы можете сделать это непосредственно с помощью метода GridCell.createValidation(). Аналогично, вы можете удалить проверку данных из ячейки GridCell с помощью метода GridCell.removeValidation().
В следующем образце кода создается Проверка данных в ячейке B3. Если вы введете значение, которое не находится между 20 и 40, ячейка B3 покажет Ошибка проверки в виде Красного XXXX, как показано на этом снимке экрана.
Создание пользовательских кнопок команд
Aspose.Cells.GridWeb содержит специальные кнопки, такие как Отправить, Сохранить и Отменить. Все эти кнопки выполняют определенные задачи для Aspose.Cells.GridWeb. Также возможно добавлять пользовательские кнопки, выполняющие пользовательские задачи. В этой теме объясняется, как использовать эту функцию.
В приведенном ниже образце кода объясняется, как создать пользоватскую командную кнопку и как обрабатывать ее событие нажатия. Вы можете использовать любую иконку для своей пользоватской командной кнопки. В иллюстративных целях мы использовали эту иконку изображения.
Как видно на следующем снимке экрана, когда пользователь нажимает на пользовательскую кнопку команды, она добавляет текст в ячейку A1, который говорит: “Моя Пользовательская Кнопка Команды Нажата.”
Обработка событий пользовательской командной кнопки
В следующем примере кода объясняется, как выполнять обработку событий пользовательской кнопки команды.
Форматирование ячеек для GridWeb
Возможные сценарии использования
GridWeb теперь поддерживает ввод данных ячейки в формате процентов, например, 3%, и данные в ячейке автоматически форматируются как 3,00%. Однако вы должны установить стиль ячейки в формат процента, который соответствует GridTableItemStyle.NumberType 9 или 10. Число 9 отформатирует 3% как 3%, а число 10 отформатирует 3% как 3,00%.
Введите данные ячейки рабочего листа GridWeb в формате процентов
В следующем образце кода устанавливается стиль ячейки A1 GridTableItemStyle.NumberType как 10, поэтому введенные данные 3% автоматически форматируются как 3,00%, как показано на скриншоте.