Работа с рабочими листами GridWeb
Доступ к рабочим листам
В этой теме обсуждается доступ к рабочим листам элемента управления GridWeb. Также их можно называть веб-рабочими листами, потому что они принадлежат GridWeb и используются в веб-приложениях.
Все рабочие листы, содержащиеся в элементе управления GridWeb, хранятся в коллекции GridWorksheetCollection элемента управления GridWeb. Просто получить доступ к определенному рабочему листу по его индексу листа.
Разработчики могут получить доступ к конкретному рабочему листу, указав его индекс листа, как показано ниже в примере кода.
For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
//Accessing a worksheet using its index | |
GridWorksheet firstSheet = gridweb.getWorkSheets().get(0); | |
Удаление листа
Эта тема предоставляет краткую информацию о удалении рабочих листов из файлов Microsoft Excel с использованием API GridWeb. Удалите рабочий лист, указав его индекс листа.
Разработчики могут удалить определенный рабочий лист, указав его индекс листа с помощью метода removeAt коллекции GridWorksheetCollection, как показано ниже в примере кода.
For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
//Get the Worksheets | |
GridWorksheetCollection gridWorksheetCollection = gridweb.getWorkSheets(); | |
//Remove the first worksheet in the Grid worksheets collection | |
gridWorksheetCollection.removeAt(0); | |
Добавление рабочих листов
Рабочие листы являются неотъемлемой частью GridWeb. Все данные управляются и хранятся в виде рабочих листов. GridWeb позволяет разработчикам добавить один или несколько рабочих листов в элемент управления Aspose.Cells.GridWeb. В этой теме показаны простые подходы к добавлению рабочих листов в GridWeb.
Без указания имени листа
Самый простой способ добавить лист в Aspose.Cells.GridWeb - вызвать метод add класса GridWorksheetCollection в элементе управления GridWeb. Это создает листы, которые используют имена по умолчанию (например, Лист1, Лист2, Лист3 и так далее) и добавляет их в элемент управления GridWeb.
Результат: в элемент GridWeb добавлен рабочий лист с именем по умолчанию
For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
//Adding a worksheet to GridWeb | |
int sheetIndex = gridweb.getWorkSheets().add(); | |
С указанным именем листа
Чтобы добавить лист с определенным именем в элемент управления GridWeb, вместо использования схемы имен по умолчанию, вызовите перегруженную версию метода add, принимающую указанную строку SheetName. Например, приведенный ниже пример добавляет лист с именем Invoice.
Вывод: в GridWeb добавлен рабочий лист с указанным именем
For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
//Adding a worksheet to GridWeb with a specified name | |
GridWorksheet sheet = gridweb.getWorkSheets().add("Invoice"); | |
Переименование листа
Переименование листа может быть очень полезным при работе с множеством листов в GridWeb и решении изменить их имена, чтобы они стали более содержательными. Например, лист, содержащий счет-фактуру, может быть переименован в Invoice вместо Лист1. В данной теме описывается эта простая, но полезная функция.
Переименование листа
Все листы содержат свойство Name, которое позволяет разработчикам получать доступ к именам листов или изменять их. Чтобы переименовать лист:
- Получите доступ к листу из коллекции GridWorksheet.
- Переименуйте выбранный лист.
Перед выполнением кода у листа есть имя по умолчанию, например, Sheet1.
Входной файл: лист с именем по умолчанию Sheet1
После выполнения кода лист переименовывается в Invoice.
Вывод: лист переименован в Invoice
For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
//Renaming a worksheet | |
gridweb.getWorkSheets().get(0).setName("Invoice"); | |
Копирование листа
Добавление листов описывает, как добавить новые листы в GridWeb. Также возможно добавить копию (или реплику) другого листа в элемент управления Aspose.Cells.GridWeb. Эта функция может быть полезна, когда необходимы идентичные или похожие данные на одном листе также требуются на другом листе. В этом случае проще скопировать существующий лист и добавить его в Aspose.Cells.GridWeb в качестве нового листа, вместо создания его с нуля.
Используя индекс листа
Приведенный ниже пример кода показывает, как добавить копию листа в элемент управления GridWeb, указав индекс листа в методе addCopy GridWorksheetCollection.
For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
//Adding the copy of a worksheet to GridWeb by specifying its sheet index | |
int sheetIndex = gridweb.getWorkSheets().addCopy(0); | |
Использование имени листа
Приведенный ниже пример кода показывает, как добавить копию листа в элемент управления GridWeb, указав имя листа в методе addCopy GridWorksheetCollection.
For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
//Adding the copy of a worksheet to GridWeb by specifying its sheet name | |
int sheetIndex = gridweb.getWorkSheets().addCopy("Sheet1"); | |
Работа с Именованными Диапазонами
Обычно заголовки столбцов и строк используются для уникальной ссылки на ячейки. Но вы можете создавать описательные имена для представления ячеек, диапазонов ячеек, формул или константных значений.
Слово имя может относиться к строке символов, представляющей ячейку, диапазон ячеек, формулу или константное значение. Например, используйте понятные имена, такие как Товары, чтобы обращаться к непонятным диапазонам, например, Продажи!C20:C30.
Метки могут использоваться в формулах, которые обращаются к данным на том же листе; если вы хотите представить диапазон на другом листе, вы можете использовать имя. Именованные диапазоны - одна из самых мощных функций Microsoft Excel.
Пользователи могут назначать имя диапазону и использовать это имя в формулах. Aspose.Cells.GridWeb поддерживает эту функцию.
Добавление/ссылка на именованные диапазоны в формулах
Элемент управления GridWeb предоставляет два класса (GridName и GridNameCollection) для работы с именованными диапазонами.
Приведенный ниже фрагмент кода поможет вам понять, как ими пользоваться.
For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
//Clear the Worksheets first | |
gridweb.getWorkSheets().clear(); | |
//Load an Excel file to the GridWeb which contains a named range i.e. Range1 | |
gridweb.importExcelFile(filePath); | |
//Apply a formula to a cell that refers to a named range "Range1" | |
gridweb.getWorkSheets().get(0).getCells().get("G6").setFormula("=SUM(Range1)"); | |
//Add a new named range "MyRange" with based area A2:B5 | |
int index = gridweb.getWorkSheets().getNames().add("MyRange", "Sheet1!A2:B5"); | |
//Get the named range | |
GridName name = gridweb.getWorkSheets().getNames().get(index); | |
//Apply a formula to G7 cell | |
gridweb.getWorkSheets().get(0).getCells().get("G7").setFormula("=Average(MyRange)"); | |
//Calculate the results of the formulas | |
gridweb.getWorkSheets().calculateFormula(); | |
//Save the Excel file | |
gridweb.saveToExcelFile("AddingNameRangeInFormula.xlsx"); | |
Управление комментариями в Рабочем листе
Эта тема обсуждает добавление, доступ к и удаление комментариев из листов. Комментарии полезны для добавления заметок или полезной информации для пользователей, которые будут работать с листом. Разработчики имеют гибкость добавлять комментарии в любую ячейку листа.
Работа с комментариями
Добавление комментариев
Чтобы добавить комментарий к листу, выполните следующие шаги:
- Добавьте элемент управления Aspose.Cells.GridWeb на веб-форму.
- Получите доступ к листу, к которому добавляете комментарии.
- Добавьте комментарий в ячейку.
- Установите заметку для нового комментария.
Комментарий добавлен к листу
For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
//Accessing the reference of the worksheet that is currently active | |
GridWorksheet sheet = gridweb.getWorkSheets().get(gridweb.getActiveSheetIndex()); | |
//Adding comment to "A1" cell of the worksheet | |
GridComment comment = sheet.getComments().get(sheet.getComments().add("A1")); | |
//Setting the comment note | |
comment.setNote("These are my comments for the cell"); | |
Доступ к комментариям
Для доступа к комментарию:
- Получите доступ к ячейке, которая содержит комментарий.
- Получите ссылку на ячейку.
- Передайте ссылку коллекции Comment, чтобы получить доступ к комментарию.
- Теперь можно изменять свойства комментария.
For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
//Accessing the reference of the worksheet that is currently active | |
GridWorksheet sheet = gridweb.getWorkSheets().get(gridweb.getActiveSheetIndex()); | |
//Accessing a specific cell that contains comment | |
GridCell cell = sheet.getCells().get("A1"); | |
//Accessing the comment from the specific cell | |
GridComment comment = sheet.getComments().get(cell.getName()); | |
//Modifying the comment note | |
comment.setNote("I have modified the comment note."); | |
Удаление комментариев
Чтобы удалить комментарий:
- Получите доступ к ячейке, как объяснено выше.
- Используйте метод removeAt коллекции Comment для удаления комментария.
For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
//Accessing the reference of the worksheet that is currently active | |
GridWorksheet sheet = gridweb.getWorkSheets().get(gridweb.getActiveSheetIndex()); | |
//Accessing a specific cell that contains comment | |
GridCell cell = sheet.getCells().get("A1"); | |
//Removing comment from the specific cell | |
sheet.getComments().removeAt(cell.getName()); | |
Управление гиперссылками в Рабочем листе
Эта тема обсуждает, какие типы гиперссылок поддерживаются в Aspose.Cells.GridWeb и как их программно управлять. Гиперссылки могут использоваться для создания ссылок на веб-URL-адреса или для выполнения обратной связи на сервер.
Типы гиперссылок
Следующие гиперссылки поддерживаются Aspose.Cells.GridWeb:
- Гиперссылки URL в тексте, гиперссылки URL примененные к тексту.
- Гиперссылки URL в изображениях, гиперссылки URL примененные к изображениям.
Гиперссылки URL в тексте
В приведенном ниже примере добавляются две гиперссылки в рабочий лист. Одна имеет цель _blank, в то время как другая установлена на _parent.
Вывод: текстовые гиперссылки добавлены на лист
For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
//Accessing the reference of the worksheet that is currently active | |
GridWorksheet sheet = gridweb.getWorkSheets().get(gridweb.getActiveSheetIndex()); | |
//Adding hyperlink to the worksheet | |
String address = "http://www.aspose.com"; | |
int lnkIdx = sheet.getHyperlinks().add("B1", address); | |
GridHyperlink lnk = sheet.getHyperlinks().get(lnkIdx); | |
//Setting text of the hyperlink | |
lnk.setTextToDisplay("Aspose"); | |
//Setting target of the hyperlink | |
lnk.setTarget("_blank"); | |
//Setting tool tip of the hyperlink | |
lnk.setScreenTip("Open Aspose Web Site in new window"); | |
//Adding hyperlink to the worksheet | |
address = "http://www.aspose.com/community/forums/aspose.cells-product-family/19/showforum.aspx"; | |
lnkIdx = sheet.getHyperlinks().add("B2", address); | |
lnk = sheet.getHyperlinks().get(lnkIdx); | |
//Setting text of the hyperlink | |
lnk.setTextToDisplay("Aspose.Grid Technical Support"); | |
//Setting target of the hyperlink | |
lnk.setTarget("_parent"); | |
//Setting tool tip of the hyperlink | |
lnk.setScreenTip("Open Aspose.Grid Technical Support in parent window"); | |
Гиперссылки URL в изображениях
В приведенном ниже примере добавляется гиперссылка URL изображения на рабочий лист.
Результат: добавлена гиперссылка изображения на рабочий лист
For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
//Accessing the reference of the worksheet that is currently active | |
GridWorksheet sheet = gridweb.getWorkSheets().get(gridweb.getActiveSheetIndex()); | |
//Adding hyperlink to the worksheet | |
String address = "http://www.aspose.com"; | |
int lnkIdx = sheet.getHyperlinks().add("B1", address); | |
GridHyperlink lnk = sheet.getHyperlinks().get(lnkIdx); | |
//Setting URL of the image that will be displayed as hyperlink | |
lnk.setImageURL("Style/AsposeLogo.png"); | |
//Setting target of the hyperlink | |
lnk.setTarget("_blank"); | |
//Setting tool tip of the hyperlink | |
lnk.setScreenTip("Open Aspose Web Site in new window"); | |
Сортировка данных
Сортировка является очень полезной функцией при обработке данных. Несортированные данные являются проблемой для пользователей при поиске конкретной информации. Aspose.Cells.GridWeb поддерживает мощные функции сортировки. В этой теме обсуждается сортировка данных с использованием API Aspose.Cells.GridWeb.
Aspose.Cells.GridWeb позволяет разработчикам сортировать данные горизонтально и вертикально, чтобы можно было сортировать данные сверху вниз или слева направо.
Сверху вниз
Для сортировки данных сверху вниз выполните следующие шаги:
- Добавьте элемент управления Aspose.Cells.GridWeb на свою веб-форму.
- Получите доступ к листу, который вы хотите отсортировать.
- Отсортируйте диапазон данных в любом порядке (по возрастанию или убыванию). Убедитесь, что выбрана ориентация сверху вниз.
В приведенном ниже примере данные в двух столбцах (ID студента и Имя студента) рабочего листа сортируются по возрастанию. Только двенадцать строк двух столбцов сортируются сверху вниз.
Перед применением кода лист содержит неупорядоченные данные.
Ввод: неотсортированные данные
После выполнения кода данные отсортированы по возрастанию.
Результат: данные отсортированы сверху вниз по возрастанию
For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
//Accessing the reference of the worksheet that is currently active | |
GridWorksheet sheet = gridweb.getWorkSheets().get(gridweb.getActiveSheetIndex()); | |
int startRow = 1; | |
int startColumn = 0; | |
int rows = 12; | |
int columns = 2; | |
int index = 0; //This is the index of the column or row which you need to sort | |
boolean isAsending = true; | |
boolean isCaseSensitive = false; | |
boolean islefttoright = false; | |
//Sorting data in ascending order | |
sheet.getCells().sort(startRow, startColumn, rows, columns, index, isAsending, isCaseSensitive, islefttoright); | |
Слева направо
Для сортировки данных слева направо выполните следующие шаги:
- Добавьте элемент управления Aspose.Cells.GridWeb на свою веб-форму.
- Получите доступ к листу, который вы хотите отсортировать.
- Отсортируйте диапазон данных в любом порядке (по возрастанию или убыванию). Убедитесь, что выбрана ориентация слева направо.
В приведенном ниже примере данные в двух строках (ID студента и Имя студента) сортируются по возрастанию. Только две строки четырех столбцов сортируются слева направо.
Перед применением кода лист содержит неупорядоченные данные.
Ввод: неотсортированные данные перед выполнением фрагмента кода
После выполнения кода данные отсортированы по возрастанию.
Результат: данные отсортированы слева направо по возрастанию
For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
//Accessing the reference of the worksheet that is currently active | |
GridWorksheet sheet = gridweb.getWorkSheets().get(gridweb.getActiveSheetIndex()); | |
int startRow = 0; | |
int startColumn = 1; | |
int rows = 2; | |
int columns = 12; | |
int index = 0; //This is the index of the column or row which you need to sort | |
boolean isAsending = true; | |
boolean isCaseSensitive = false; | |
boolean islefttoright = true; | |
//Sorting data in ascending order | |
sheet.getCells().sort(startRow, startColumn, rows, columns, index, isAsending, isCaseSensitive, islefttoright); | |
Поиск и замена
Один из самых быстрых способов вносить повторяющиеся изменения в большую электронную таблицу - использовать функцию поиска и замены. Функция Поиск помогает находить текстовую строку или данные, а замена заменяет ее новым значением. Aspose.Cells.GridWeb предоставляет эту функцию. Она позволяет выполнять поиск и замену определенной текстовой строки или значения на стороне клиента таблицы с помощью простого диалогового окна. Она даже позволяет искать частичные данные.
Диалог Поиска/Замены
Есть два способа открыть диалог Поиска/Замены:
- Когда элемент управления активен, нажмите CTRL+F, чтобы открыть диалог, или нажмите клавишу CTRL+R, чтобы открыть диалог с включенной кнопкой Замена.
- Переместите указатель в область ячейки на листе электронной таблицы, затем щелкните правой кнопкой мыши. Выберите Поиск или Замена в меню.
Выбор функции Поиск
Отображается диалоговое окно поиска и замены.
Диалоговое окно Поиск/Замена
Использование поиска
Для поиска:
- Откройте диалоговое окно Поиск/Замена.
- Введите строку, которую хотите найти в поле “Найти”.
- Щелкните “Найти далее”, чтобы выполнить поиск.
Следующая ячейка, соответствующая вашему условию поиска, будет выделена.
Настройки поиска
Есть несколько параметров поиска, которые можно настроить в диалоговом окне. В таблице ниже они перечислены.
№ | Имя опции | Описание |
---|---|---|
1 | Учитывать регистр | Указывает, следует ли использовать учет регистра при поиске. |
2 | Искать целое слово | Указывает, следует ли искать целые слова при поиске. |
3 | Поиск вверх | Указывает, следует ли выполнять поиск снизу вверх. |
4 | Регулярное выражение | Если отмечено, элемент управления будет рассматривать строку в поле “Найти” как регулярное выражение в процессе поиска. |
5 | Искать в формулах/значениях | При выборе “Формулы” элемент управления будет соответствовать формуле или неотформатированному значению ячеек, если формула или неотформатированное значение присутствуют. При выборе “Значения” элемент управления будет соответствовать только отображаемому значению ячеек. |
Использование функции Замена
Для замены текста или значения:
- Откройте окно поиска и замены, нажав CTRL + F или выбрав правой кнопкой мыши ячейку и выбрав Найти, перед тем как нажать Заменить.
- Введите заменяемую строку в поле Заменить на.
- Нажмите Заменить.
Чтобы заменить текст:
- Откройте диалоговое окно.
- Введите текст, который вы хотите найти в поле Найти, и текст, который вы хотите заменить, в поле Заменить на.
- Замените по одному вхождению, нажав Найти далее и затем Заменить.
- Если вы очень уверены в содержании рабочего листа, нажмите Заменить все.
Добавление/удаление гиперссылок с клиентской стороны
Aspose.Cells GridWeb теперь поддерживает добавление и удаление гиперссылок с клиентской стороны. Для этого API предоставляет функции “addCelllink” и “delCelllink”. В следующих фрагментах кода показано добавление и удаление гиперссылок с клиентской стороны в GridWeb.
Образец кода
For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
<script> | |
function addLink() { | |
var linkinfo = {}; | |
linkinfo.url = "http://www.aspose.com", | |
linkinfo.text = "Link to Aspose Webbsite", | |
gridwebinstance.getByIndex(0).rangeupdate(addCelllink, linkinfo); | |
} | |
function removeLink() { | |
gridwebinstance.getByIndex(0).rangeupdate(delCelllink); | |
} | |
</script> |
Вы также можете ссылаться на лист, используя следующий фрагмент кода.
For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
linkinfo.url="Sheet4!B8", | |
linkinfo.text="link to sheet4 B8", | |
linkinfo.targetsheetindex= 8, | |
linkinfo.targetcellname="B8" |
Обновление настроек шрифта с клиентской стороны
Aspose.Cells GridWeb теперь поддерживает изменение настроек шрифта с клиентской стороны. Для этого API предоставляет следующие функции
- updateCellFontStyle: Параметры - r/i/b/ib для обычного/курсивного/жирного/курсивного&&жирного
- updateCellFontSize: Параметры - название шрифта и т. д. ‘Системный’
- updateCellFontName: Параметры - размер шрифта и т. д. ‘12pt’
- updateCellFontColor: Параметры - none/u/l/ul/ для none/подчеркивания/зачеркивания/подчеркивания&&зачеркивания
- updateCellFontLine: Параметры - цвет HTML, например, #aa22ee или известное имя цвета, как зеленый, красный и т. д.
- updateCellBackGroundColor: Параметры - HTML-цвет, например, #aa22ee или известное название цвета, такое как зеленый, красный,…
Следующий фрагмент кода демонстрирует изменение настроек шрифта с клиентской стороны в GridWeb.
Образец кода
For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
<script> | |
function makeFontItalic() { | |
gridwebinstance.getByIndex(0).rangeupdate(updateCellFontStyle, "i"); | |
} | |
function makeFontBold() { | |
gridwebinstance.getByIndex(0).rangeupdate(updateCellFontStyle, "b"); | |
} | |
function changeFontSize() { | |
gridwebinstance.getByIndex(0).rangeupdate(updateCellFontSize, "5pt"); | |
} | |
function changeFontFamily() { | |
gridwebinstance.getByIndex(0).rangeupdate(updateCellFontName, "Corbel Light"); | |
} | |
function changeFontColor() { | |
gridwebinstance.getByIndex(0).rangeupdate(updateCellFontColor, "green"); | |
} | |
function changeFontBackgroundColor() { | |
gridwebinstance.getByIndex(0).rangeupdate(updateCellBackGroundColor, "yellow"); | |
} | |
</script> |
Добавление/удаление комментариев с клиентской стороны
Aspose.Cells GridWeb теперь поддерживает добавление и удаление комментариев с клиентской стороны. Для этого API предоставляет функции “addcomments” и “delcomments”. В следующем фрагменте кода показано добавление и удаление комментариев с клиентской стороны в GridWeb.
Образец кода
For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
<script> | |
function addComment() { | |
gridwebinstance.getByIndex(0).addcomments({note:'hello',author:'aspose'}); | |
} | |
function removeComment() { | |
gridwebinstance.getByIndex(0).delcomments(); | |
} | |
</script> |
Показ кнопок для добавления/удаления рабочих листов
Aspose.Cells GridWeb теперь поддерживает добавление и удаление листов с помощью кнопок на панели инструментов. Чтобы кнопки были видны на фронтенде, необходимо установить GridWeb1.ShowAddButton в true. Следующий фрагмент кода демонстрирует добавление кнопок Добавить/Удалить на панель инструментов GridWeb.