Работа с Cells GridWeb

Доступ к Cells на рабочем листе

В этом разделе обсуждаются ячейки и рассматривается самая основная функция GridWeb: доступ к ячейкам.

Каждый лист содержит объект GridCells — коллекцию объектов GridCell. Объект GridCell представляет ячейку в Aspose.Cells.GridWeb. С помощью GridWeb можно получить доступ к любой ячейке. Есть два предпочтительных метода:

Ниже обсуждается каждый подход.

Использование имени Cell

Все ячейки имеют уникальное имя. Например, A1, A2, B1, B2 и т. д. Aspose.Cells.GridWeb позволяет разработчикам получать доступ к любой желаемой ячейке, используя имя ячейки. Просто передайте имя ячейки (в виде индекса) в коллекцию GridCells GridWorksheet.

Использование индексов строк и столбцов

Ячейку также можно распознать по ее местоположению с точки зрения индексов строк и столбцов. Просто передайте индексы строк и столбцов ячейки в коллекцию GridCells GridWorksheet. Этот подход более быстрый, чем описанный выше.

Доступ и изменение значения Cell

Доступ к Cells на рабочем листе обсудили доступ к ячейкам. Этот раздел расширяет это обсуждение и показывает, как получить доступ к значениям ячеек и изменить их с помощью GridWeb API.

Доступ и изменение значения Cell

Строковые значения

Прежде чем получить доступ к значению ячейки и изменить его, вам необходимо знать, как получить доступ к ячейкам. Подробную информацию о различных подходах к доступу к ячейкам см.Доступ к Cells на рабочем листе.

Каждая ячейка имеет свойство getStringValue(). После доступа к ячейке разработчики могут получить доступ к методу getStringValue() для доступа к строковому значению ячейки.

Все типы значений

Aspose.Cells.GridWeb также предоставляет специальный метод putValue для каждой ячейки. С помощью этого метода можно вставлять или изменять значения любого типа (логическое, целое, двойное, DateTime и строковое) в ячейке.

Существует также перегруженная версия метода putValue, которая может принимать любые значения в строковом формате и автоматически преобразовывать их в правильный тип данных. Чтобы это произошло, передайте логическое значение true другому параметру метода putValue, как показано ниже в примере.

Добавление формул в Cells

Самая ценная функция, предлагаемая Aspose.Cells.GridWeb, — это поддержка формул и функций. Aspose.Cells.GridWeb имеет собственный механизм формул, который вычисляет формулы на листах. Aspose.Cells.GridWeb поддерживает как встроенные, так и определяемые пользователем функции и формулы. В этом разделе подробно обсуждается добавление формул в ячейки с использованием Aspose.Cells.GridWeb API.

Как сложить и вычислить формулу?

Можно добавлять, получать доступ и изменять формулы в ячейках, используя свойство «Формула» ячейки. Aspose.Cells.GridWeb поддерживает определяемые пользователем формулы, от простых до сложных. Однако большое количество встроенных функций или формул (аналогично Microsoft Excel) также поставляется с Aspose.Cells.GridWeb. Полный список встроенных функций можно посмотреть здесь.список поддерживаемых функций.

Формула добавлена в ячейку B3, но не рассчитана GridWeb

задача: image_alt_text

На скриншоте выше вы можете видеть, что формула была добавлена в B3, но еще не рассчитана. Чтобы вычислить все формулы, вызовите метод CalcFormula GridWorksheetCollection элемента управления GridWeb после добавления формул на листы, как показано ниже.

Пользователи также могут вычислять формулы, нажав Отправить*.

Нажатие кнопки «Отправить» в GridWeb

задача: image_alt_text

ВАЖНО. Если пользователь нажимает кнопку Сохранить илиОтменить кнопок или вкладок листа, все формулы рассчитываются GridWeb автоматически.

Результат формулы после расчета

задача: image_alt_text

Ссылка на Cells из других рабочих листов

Используя Aspose.Cells.GridWeb, можно ссылаться на значения, хранящиеся на разных листах, в своих формулах, создавая сложные формулы.

Синтаксис для ссылки на значение ячейки из другого листа: ИмяЛиста!ИмяЯчейки.

Создайте проверку данных в GridCell GridWeb

Aspose.Cells.GridWeb позволяет добавлятьВалидация данных используя метод GridWorksheet.getValidations().add(). Используя этот метод, вам необходимо указатьCell Диапазон. Но если вы хотите создать проверку данных в одной GridCell, вы можете сделать это напрямую, используя метод GridCell.createValidation(). Аналогичным образом вы можете удалить Проверку данных. из GridCell с помощью метода GridCell.removeValidation().

Следующий пример кода создаетВалидация данных в ячейке В3. Если вы введете любое значение, которое не находится между 20 и 40, в ячейке B3 отобразитсяОшибка проверки в видеКрасный ХХХХ как показано на этом скриншоте.

задача: image_alt_text

Создание пользовательских командных кнопок

Aspose.Cells.GridWeb содержит специальные кнопки, такие как «Отправить», «Сохранить» и «Отменить». Все эти кнопки выполняют определенные задачи для Aspose.Cells.GridWeb. Также можно добавить пользовательские кнопки, выполняющие пользовательские задачи. В этом разделе объясняется, как использовать эту функцию.

В следующем примере кода объясняется, как создать пользовательскую командную кнопку и как обрабатывать событие ее нажатия. Вы можете использовать любой значок для своей пользовательской командной кнопки. В целях иллюстрации мы использовали этот значок изображения.

задача: image_alt_text

Как вы можете видеть на следующем снимке экрана, когда пользователь нажимает пользовательскую командную кнопку, он добавляет в ячейку A1 текст, говорящий**«Нажата моя пользовательская командная кнопка».**

задача: image_alt_text

Обработка событий пользовательской командной кнопки

В следующем примере кода объясняется, как выполнить обработку событий пользовательской командной кнопки.

Форматирование ячеек для GridWeb

Возможные сценарии использования

GridWeb теперь позволяет пользователям вводить данные ячеек в процентном формате, например 3%, и данные в ячейке автоматически будут отформатированы как 3,00%. Однако вам придется установить стиль ячейки в процентном формате, который представляет собой либо GridTableItemStyle.NumberType, либо 9, либо 10. Число 9 будет форматировать 3% как 3%, а число 10 будет форматировать 3% как 3,00%.

Введите Cell Данные рабочего листа GridWeb в процентном формате.

В следующем примере кода ячейке A1 GridTableItemStyle.NumberType присваивается значение 10, поэтому входные данные 3% автоматически форматируются как 3,00%, как показано на снимке экрана.

задача: image_alt_text

Образец кода