Форматирование данных
Подходы к форматированию данных в ячейках
Общеизвестный факт, что если ячейки листа отформатированы правильно, то пользователям становится проще читать содержимое (данные) ячейки. Существует множество способов форматирования ячеек и их содержимого. Самый простой способ - отформатировать ячейки с помощью Microsoft Excel в среде WYSIWYG при создании дизайнерской таблицы. После создания дизайнерской таблицы вы можете открыть таблицу с помощью Aspose.Cells, сохранив все настройки формата вместе с таблицей. Другой способ отформатировать ячейки и их содержимое - использовать API Aspose.Cells. В этой теме мы опишем два подхода к форматированию ячеек и их содержимого с использованием API Aspose.Cells.
Форматирование ячеек
Разработчики могут форматировать ячейки и их содержимое с использованием гибкого API Aspose.Cells. Aspose.Cells предоставляет класс Workbook, который представляет собой файл Microsoft Excel. Класс Workbook содержит коллекцию WorksheetCollection, позволяющую получить доступ к каждому листу в файле Excel. Лист представлен классом Worksheet. Класс Worksheet предоставляет коллекцию Cells. Каждый элемент коллекции Cells представляет объект класса Cell.
Aspose.Cells предоставляет свойство Style в классе Cell, используемое для задания стиля форматирования ячейки. Кроме того, Aspose.Cells также предоставляет класс Style, который используется для того же целя. Применяйте различные виды стилей форматирования для ячеек, устанавливая их фоновые или передние цвета, границы, шрифты, горизонтальное и вертикальное выравнивание, отступ, направление текста, угол поворота и многое другое.
Использование метода setStyle
При применении различных стилей форматирования к разным ячейкам лучше использовать метод setStyle класса Cell. Ниже приведен пример использования метода setStyle для применения различных настроек форматирования к ячейке.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(FormattingCellsUsingsetStyleMethod.class); | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(dataDir + "book1.xls"); | |
// Accessing the first worksheet in the Excel file | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
Cells cells = worksheet.getCells(); | |
// Accessing the "A1" cell from the worksheet | |
Cell cell = cells.get("A1"); | |
// Adding some value to the "A1" cell | |
cell.setValue("Hello Aspose!"); | |
Style style = cell.getStyle(); | |
// Setting the vertical alignment of the text in the "A1" cell | |
style.setVerticalAlignment(TextAlignmentType.CENTER); | |
// Setting the horizontal alignment of the text in the "A1" cell | |
style.setHorizontalAlignment(TextAlignmentType.CENTER); | |
// Setting the font color of the text in the "A1" cell | |
Font font = style.getFont(); | |
font.setColor(Color.getGreen()); | |
// Setting the cell to shrink according to the text contained in it | |
style.setShrinkToFit(true); | |
// Setting the bottom border | |
style.setBorder(BorderType.BOTTOM_BORDER, CellBorderType.MEDIUM, Color.getRed()); | |
// Saved style | |
cell.setStyle(style); | |
// Saving the modified Excel file in default (that is Excel 2003) format | |
workbook.save(dataDir + "output.xls"); |
Использование объекта Style
При применении одного и того же стиля форматирования к разным ячейкам используйте объект Style.
- Добавьте объект Style в коллекцию Styles класса Workbook, вызвав метод createStyle класса Workbook.
- Получите только что добавленный объект Style из коллекции Styles.
- Установите желаемые свойства объекта Style, чтобы применить необходимые настройки форматирования.
- Присвойте настроенный объект Style свойству Style любой желаемой ячейки.
Этот подход может значительно повысить эффективность ваших приложений и сэкономить память.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(FormattingCellsUsingStyleObject.class) + "data/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(dataDir + "book1.xls"); | |
// Accessing the first worksheet in the Excel file | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
Cells cells = worksheet.getCells(); | |
// Accessing the "A1" cell from the worksheet | |
Cell cell = cells.get("A1"); | |
// Adding some value to the "A1" cell | |
cell.setValue("Hello Aspose!"); | |
// Adding a new Style to the styles collection of the Excel object | |
Style style = workbook.createStyle(); | |
// Setting the vertical alignment of the text in the "A1" cell | |
style.setVerticalAlignment(TextAlignmentType.CENTER); | |
// Setting the horizontal alignment of the text in the "A1" cell | |
style.setHorizontalAlignment(TextAlignmentType.CENTER); | |
// Setting the font color of the text in the "A1" cell | |
Font font = style.getFont(); | |
font.setColor(Color.getGreen()); | |
// Setting the cell to shrink according to the text contained in it | |
style.setShrinkToFit(true); | |
// Setting the bottom border | |
style.setBorder(BorderType.BOTTOM_BORDER, CellBorderType.MEDIUM, Color.getRed()); | |
// Saved style | |
cell.setStyle(style); | |
// Saving the modified Excel file in default format | |
workbook.save(dataDir + "FCUsingStyleObject_out.xls"); |
Применение эффектов градиентного заливки
Чтобы применить желаемые эффекты градиентного заливки к ячейке, используйте метод setTwoColorGradient объекта стиля соответственно.
Пример кода
Нижеприведенный вывод достигается выполнением кода ниже.
Применение эффектов градиентного заливки
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(ApplyGradientFillEffects.class) + "data/"; | |
// Instantiate a new Workbook | |
Workbook workbook = new Workbook(); | |
// Get the first worksheet (default) in the workbook | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
// Input a value into B3 cell | |
worksheet.getCells().get(2, 1).putValue("test"); | |
// Get the Style of the cell | |
Style style = worksheet.getCells().get("B3").getStyle(); | |
// Set Gradient pattern on | |
style.setGradient(true); | |
// Specify two color gradient fill effects | |
style.setTwoColorGradient(Color.fromArgb(255, 255, 255), Color.fromArgb(79, 129, 189), | |
GradientStyleType.HORIZONTAL, 1); | |
// Set the color of the text in the cell | |
style.getFont().setColor(Color.getRed()); | |
// Specify horizontal and vertical alignment settings | |
style.setHorizontalAlignment(TextAlignmentType.CENTER); | |
style.setVerticalAlignment(TextAlignmentType.CENTER); | |
// Apply the style to the cell | |
worksheet.getCells().get("B3").setStyle(style); | |
// Set the third row height in pixels | |
worksheet.getCells().setRowHeightPixel(2, 53); | |
// Merge the range of cells (B3:C3) | |
worksheet.getCells().merge(2, 1, 1, 2); | |
// Save the Excel file | |
workbook.save(dataDir + "ApplyGradientFillEffects_out.xlsx"); |
Настройка настроек выравнивания
Любой, кто использовал Microsoft Excel для форматирования ячеек, будет знаком с настройками выравнивания в Microsoft Excel.
Параметры выравнивания в Microsoft Excel
Как видно на приведенной выше фигуре, существуют различные варианты выравнивания:
- Выравнивание текста (горизонтальное и вертикальное)
- Отступ.
- Ориентация.
- Управление текстом.
- Направление текста.
Все эти настройки выравнивания полностью поддерживаются Aspose.Cells и обсуждаются более подробно ниже.
Настройка настроек выравнивания
Aspose.Cells предоставляет класс Workbook, который представляет собой файл Excel. Класс Workbook содержит коллекцию Worksheet, которая позволяет получить доступ к каждому листу в файле Excel. Лист представлен классом Worksheet.
Класс Worksheet предоставляет коллекцию Cells. Каждый элемент в коллекции Cells представляет объект класса Cell.
Aspose.Cells предоставляет метод setStyle в классе Cell, который используется для форматирования ячейки. Класс Style предоставляет полезные свойства для настройки параметров шрифта.
Выберите любой тип выравнивания текста, используя перечисление TextAlignmentType. Предопределенные типы выравнивания текста в перечислении TextAlignmentType:
Типы выравнивания текста | Описание |
---|---|
Bottom | Представляет выравнивание текста по нижнему краю |
Center | Представляет выравнивание текста по центру |
CenterAcross | Представляет выравнивание текста по центру с наложением |
Distributed | Представляет распределенное выравнивание текста |
Fill | Представляет выравнивание текста по заливке |
General | Представляет общее выравнивание текста |
Justify | Представляет выравнивание текста по ширине |
Left | Представляет выравнивание текста влево |
Right | Представляет выравнивание текста вправо |
Top | Представляет верхнее выравнивание текста |
Также можно применить настройку равномерного распределения с помощью метода Style.setJustifyDistributed().
|
Горизонтальное выравнивание
Используйте метод setHorizontalAlignment объекта Style, чтобы выровнять текст горизонтально.
Следующий результат достигается при выполнении приведенного ниже примера кода:
Выравнивание текста горизонтально
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(TextAlignmentHorizontal.class) + "data/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Accessing the added worksheet in the Excel file | |
int sheetIndex = workbook.getWorksheets().add(); | |
Worksheet worksheet = workbook.getWorksheets().get(sheetIndex); | |
Cells cells = worksheet.getCells(); | |
// Adding the current system date to "A1" cell | |
Cell cell = cells.get("A1"); | |
Style style = cell.getStyle(); | |
// Adding some value to the "A1" cell | |
cell.setValue("Visit Aspose!"); | |
// Setting the horizontal alignment of the text in the "A1" cell | |
style.setHorizontalAlignment(TextAlignmentType.CENTER); | |
// Saved style | |
cell.setStyle(style); | |
// Saving the modified Excel file in default format | |
workbook.save(dataDir + "TAHorizontal_out.xls"); |
Вертикальное выравнивание
Используйте метод setVerticalAlignment объекта Style, чтобы выровнять текст вертикально.
Следующий результат достигается, когда VerticalAlignment установлено в центр.
Выравнивание текста вертикально
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(TextAlignmentVertical.class) + "data/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Accessing the added worksheet in the Excel file | |
int sheetIndex = workbook.getWorksheets().add(); | |
Worksheet worksheet = workbook.getWorksheets().get(sheetIndex); | |
Cells cells = worksheet.getCells(); | |
// Adding the current system date to "A1" cell | |
Cell cell = cells.get("A1"); | |
Style style = cell.getStyle(); | |
// Adding some value to the "A1" cell | |
cell.setValue("Visit Aspose!"); | |
// Setting the vertical alignment of the text in a cell | |
Style style1 = cell.getStyle(); | |
style1.setVerticalAlignment(TextAlignmentType.CENTER); | |
cell.setStyle(style1); | |
// Saved style | |
cell.setStyle(style1); | |
// Saving the modified Excel file in default format | |
workbook.save(dataDir + "TAVertical_out.xls"); |
Отступ
Возможно установить уровень отступа текста в ячейке, используя метод setIndentLevel объекта Style.
Следующий вывод получается при установке уровня отступа равным 2.
Уровень отступа установлен на 2
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(Indentation.class) + "data/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Accessing the added worksheet in the Excel file | |
int sheetIndex = workbook.getWorksheets().add(); | |
Worksheet worksheet = workbook.getWorksheets().get(sheetIndex); | |
Cells cells = worksheet.getCells(); | |
// Adding the current system date to "A1" cell | |
Cell cell = cells.get("A1"); | |
Style style = cell.getStyle(); | |
// Adding some value to the "A1" cell | |
cell.setValue("Visit Aspose!"); | |
// Setting the vertical alignment of the text in a cell | |
Style style1 = cell.getStyle(); | |
style1.setIndentLevel(2); | |
cell.setStyle(style1); | |
// Saved style | |
cell.setStyle(style1); | |
// Saving the modified Excel file in default format | |
workbook.save(dataDir + "Indentation_out.xls"); |
Ориентация
Установка ориентации (поворота) текста в ячейке с помощью метода setRotationAngle объекта Style.
Следующий вывод получается при установке угла поворота равным 25.
Угол поворота установлен на 25
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(Orientation.class) + "data/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Accessing the added worksheet in the Excel file | |
int sheetIndex = workbook.getWorksheets().add(); | |
Worksheet worksheet = workbook.getWorksheets().get(sheetIndex); | |
Cells cells = worksheet.getCells(); | |
// Adding the current system date to "A1" cell | |
Cell cell = cells.get("A1"); | |
Style style = cell.getStyle(); | |
// Adding some value to the "A1" cell | |
cell.setValue("Visit Aspose!"); | |
// Setting the rotation of the text (inside the cell) to 25 | |
Style style1 = cell.getStyle(); | |
style1.setRotationAngle(25); | |
cell.setStyle(style1); | |
// Saved style | |
cell.setStyle(style1); | |
// Saving the modified Excel file in default format | |
workbook.save(dataDir + "Orientation_out.xls"); |
Управление текстом
В следующем разделе рассматривается управление текстом с помощью установки переноса текста, уменьшения для подгонки и других параметров форматирования.
Перенос текста
Перенос текста в ячейке упрощает его чтение: высота ячейки автоматически ajusts для размещения всего текста вместо его обрезания или переполнения смежными ячейками.
Установите перенос текста включенным или выключенным с помощью метода setTextWrapped объекта Style.
Следующий вывод получается при включении переноса текста.
Текст перенесен внутри ячейки
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(WrapText.class) + "data/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Accessing the added worksheet in the Excel file | |
int sheetIndex = workbook.getWorksheets().add(); | |
Worksheet worksheet = workbook.getWorksheets().get(sheetIndex); | |
Cells cells = worksheet.getCells(); | |
// Adding the current system date to "A1" cell | |
Cell cell = cells.get("A1"); | |
Style style = cell.getStyle(); | |
// Adding some value to the "A1" cell | |
cell.setValue("Visit Aspose!"); | |
// Enabling the text to be wrapped within the cell | |
Style style1 = cell.getStyle(); | |
style1.setTextWrapped(true); | |
cell.setStyle(style1); | |
// Saved style | |
cell.setStyle(style1); | |
// Saving the modified Excel file in default format | |
workbook.save(dataDir + "WrapText_out.xls"); |
Уменьшение для подгонки
Опция переноса текста в ячейке состоит в уменьшении размера текста для соответствия размерам ячейки. Это делается путем установки свойства IsTextWrapped объекта Style в true.
Следующий вывод получается при уменьшении текста для соответствия ячейке.
Текст уменьшен для соответствия границам ячейки
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(ShrinkingToFit.class) + "data/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Accessing the added worksheet in the Excel file | |
int sheetIndex = workbook.getWorksheets().add(); | |
Worksheet worksheet = workbook.getWorksheets().get(sheetIndex); | |
Cells cells = worksheet.getCells(); | |
// Adding the current system date to "A1" cell | |
Cell cell = cells.get("A1"); | |
Style style = cell.getStyle(); | |
// Adding some value to the "A1" cell | |
cell.setValue("Visit Aspose!"); | |
// Shrinking the text to fit according to the dimensions of the cell | |
Style style1 = cell.getStyle(); | |
style1.setShrinkToFit(true); | |
cell.setStyle(style1); | |
// Saved style | |
cell.setStyle(style1); | |
// Saving the modified Excel file in default format | |
workbook.save(dataDir + "ShrinkingToFit_out.xls"); |
Объединение ячеек
Как и Microsoft Excel, Aspose.Cells поддерживает объединение нескольких ячеек в одну.
Следующий результат достигается, если объединить три ячейки в первой строке, чтобы создать большую одиночную ячейку.
Три ячейки объединены для создания большой ячейки
Используйте метод Merge коллекции Cells для объединения ячеек. Метод Merge принимает следующие параметры:
- Первая строка, первая строка, с которой начинается объединение.
- Первая колонка, первая колонка, с которой начинается объединение.
- Количество строк, количество строк для объединения.
- Количество столбцов, количество столбцов для объединения.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(MergingCellsInWorksheet.class) + "data/"; | |
// Create a Workbook. | |
Workbook wbk = new Workbook(); | |
// Create a Worksheet and get the first sheet. | |
Worksheet worksheet = wbk.getWorksheets().get(0); | |
// Create a Cells object to fetch all the cells. | |
Cells cells = worksheet.getCells(); | |
// Merge some Cells (C6:E7) into a single C6 Cell. | |
cells.merge(5, 2, 2, 3); | |
// Input data into C6 Cell. | |
worksheet.getCells().get(5, 2).setValue("This is my value"); | |
// Create a Style object to fetch the Style of C6 Cell. | |
Style style = worksheet.getCells().get(5, 2).getStyle(); | |
// Create a Font object | |
Font font = style.getFont(); | |
// Set the name. | |
font.setName("Times New Roman"); | |
// Set the font size. | |
font.setSize(18); | |
// Set the font color | |
font.setColor(Color.getBlue()); | |
// Bold the text | |
font.setBold(true); | |
// Make it italic | |
font.setItalic(true); | |
// Set the backgrond color of C6 Cell to Red | |
style.setForegroundColor(Color.getRed()); | |
style.setPattern(BackgroundType.SOLID); | |
// Apply the Style to C6 Cell. | |
cells.get(5, 2).setStyle(style); | |
// Save the Workbook. | |
wbk.save(dataDir + "mergingcells_out.xls"); | |
wbk.save(dataDir + "mergingcells_out.xlsx"); | |
wbk.save(dataDir + "mergingcells_out.ods"); | |
// Print message | |
System.out.println("Process completed successfully"); |
Направление текста
Возможно установить порядок чтения текста в ячейках. Порядок чтения - это визуальный порядок, в котором отображаются символы, слова и т.д. Например, английский - это язык с направлением слева направо, в то время как арабский - справа налево.
Порядок чтения устанавливается с помощью свойства TextDirection объекта Style. Aspose.Cells предоставляет предопределенные типы направления текста в перечислении TextDirectionType.
** Типы направления текста ** | ** Описание ** |
---|---|
Context | Порядок чтения согласуется с языком первого введенного символа |
LeftToRight | Порядок чтения слева направо |
RightToLeft | Порядок чтения справа налево |
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(ChangeTextDirection.class) + "data/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Accessing the added worksheet in the Excel file | |
int sheetIndex = workbook.getWorksheets().add(); | |
Worksheet worksheet = workbook.getWorksheets().get(sheetIndex); | |
Cells cells = worksheet.getCells(); | |
// Adding the current system date to "A1" cell | |
Cell cell = cells.get("A1"); | |
Style style = cell.getStyle(); | |
// Adding some value to the "A1" cell | |
cell.setValue("Visit Aspose!"); | |
// Setting the text direction from right to left | |
Style style1 = cell.getStyle(); | |
style1.setTextDirection(TextDirectionType.RIGHT_TO_LEFT); | |
cell.setStyle(style1); | |
// Saved style | |
cell.setStyle(style1); | |
// Saving the modified Excel file in default format | |
workbook.save(dataDir + "ChangeTextDirection_out.xls"); |
Следующий результат достигается, если направление чтения текста установлено справа налево.
Установка направления чтения текста справа налево
Форматирование выбранных символов в ячейке
Работа с настройками шрифта объяснил, как форматировать ячейки, но только как форматировать содержимое всей ячейки. Что если вы хотите отформатировать только выбранные символы?
Aspose.Cells поддерживает эту функцию. В этой теме объясняется, как использовать эту функцию.
Форматирование выбранных символов
Aspose.Cells предоставляет класс Workbook, который представляет файл Microsoft Excel. Класс Workbook содержит коллекцию Worksheets, которая позволяет получить доступ к каждому листу в файл Excel. Лист представлен классом Worksheet. Класс Worksheet предоставляет коллекцию Cells. Каждый элемент в коллекции Cells представляет объект класса Cell.
Класс Cell предоставляет метод characters, который принимает следующие параметры для выбора диапазона символов в ячейке:
- Индекс начала, индекс начального символа для выбора.
- Количество символов, количество выбираемых символов.
В выходном файле, в ячейке A1, слово ‘Visit’ форматируется стандартным шрифтом, но ‘Aspose!’ выделено жирным и синим.
Форматирование выбранных символов
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// Path to source file | |
String dataDir = Utils.getSharedDataDir(FormattingSelectedCharacters.class) + "data/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Accessing the added worksheet in the Excel file | |
int sheetIndex = workbook.getWorksheets().add(); | |
Worksheet worksheet = workbook.getWorksheets().get(sheetIndex); | |
Cells cells = worksheet.getCells(); | |
// Adding some value to the "A1" cell | |
Cell cell = cells.get("A1"); | |
cell.setValue("Visit Aspose!"); | |
Font font = cell.characters(6, 7).getFont(); | |
// Setting the font of selected characters to bold | |
font.setBold(true); | |
// Setting the font color of selected characters to blue | |
font.setColor(Color.getBlue()); | |
// Saving the Excel file | |
workbook.save(dataDir + "FSCharacters_out.xls"); |
Активация листов и установка активной ячейки или выбор диапазона ячеек на листе
Иногда вам может потребоваться активировать определенный лист, чтобы он был первым, который отображается, когда кто-то открывает файл в Microsoft Excel. Вам также может понадобиться активировать определенную ячейку таким образом, чтобы полосы прокрутки прокручивались к активной ячейке, чтобы она была четко видна. Aspose.Cells способен выполнить все вышеупомянутые задачи.
Активным листом является лист, над которым вы работаете в книге. По умолчанию имя на вкладке активного листа выделено жирным. Активная ячейка, между тем, - это выбранная ячейка, в которую вводятся данные при начале ввода. Одновременно активной ячейкой является только одна ячейка. Активная ячейка окружена тяжелой рамкой, чтобы она выделялась среди других ячеек. Aspose.Cells также позволяет выбирать диапазон ячеек на листе.
Активация листа и установка активной ячейки
Aspose.Cells предоставляет специальный API для этих задач. Например, метод WorksheetCollection.setActiveSheetIndex полезен для установки активного листа. Аналогично, метод Worksheet.setActiveCell используется для установки и получения активной ячейки на листе.
Если вы хотите, чтобы горизонтальные и вертикальные полосы прокрутки прокручивались к позиции индекса строки и столбца для обеспечения хорошего вида выбранных данных при открытии файла в Microsoft Excel, используйте свойства Worksheet.setFirstVisibleRow и Worksheet.setFirstVisibleColumn.
В следующем примере показано, как активировать лист и сделать в нем активной ячейку. Полосы прокрутки прокручиваются, чтобы сделать 2-й ряд и 2-й столбец их первым видимым рядом и столбцом.
Установить ячейку B2 в качестве активной ячейки
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(MakeCellActive.class) + "data/"; | |
// Instantiate a new Workbook. | |
Workbook workbook = new Workbook(); | |
// Get the first worksheet in the workbook. | |
Worksheet worksheet1 = workbook.getWorksheets().get(0); | |
// Get the cells in the worksheet. | |
Cells cells = worksheet1.getCells(); | |
// Input data into B2 cell. | |
cells.get(1, 1).setValue("Hello World!"); | |
// Set the first sheet as an active sheet. | |
workbook.getWorksheets().setActiveSheetIndex(0); | |
// Set B2 cell as an active cell in the worksheet. | |
worksheet1.setActiveCell("B2"); | |
// Set the B column as the first visible column in the worksheet. | |
worksheet1.setFirstVisibleColumn(1); | |
// Set the 2nd row as the first visible row in the worksheet. | |
worksheet1.setFirstVisibleRow(1); | |
// Save the Excel file. | |
workbook.save(dataDir + "MakeCellActive_out.xls"); |
Выбор диапазона ячеек на листе
Aspose.Cells предоставляет метод Worksheet.selectRange(int startRow, int startColumn, int totalRows, int totalColumns, bool removeOthers). Используя последний параметр - removeOthers - true, выбор других ячеек или диапазонов ячеек на листе удаляется.
В следующем примере показано, как выбрать диапазон ячеек на активном листе.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(SelectRangeofCellsinWorksheet.class) + "data/"; | |
// Instantiate a new Workbook. | |
Workbook workbook = new Workbook(); | |
// Get the first worksheet in the workbook. | |
Worksheet worksheet1 = workbook.getWorksheets().get(0); | |
// Get the cells in the worksheet. | |
Cells cells = worksheet1.getCells(); | |
// Input data into B2 cell. | |
cells.get(1, 1).setValue("Hello World!"); | |
// Set the first sheet as an active sheet. | |
workbook.getWorksheets().setActiveSheetIndex(0); | |
// Select range of cells(A1:E10) in the worksheet. | |
worksheet1.selectRange(0, 0, 10, 5, true); | |
// Save the Excel file. | |
workbook.save(dataDir + "SROfCInWorksheet_out.xlsx"); |
Форматирование строк и столбцов
Форматирование строк и столбцов в таблице для создания отчета —, вероятно, наиболее широко используемая функция приложения Excel.There is an introductory phrase fragment. Consider revising. Экспоненты.Aspose.Cells API-интерфейсы также предоставляют эту функциональность через свою модель данных, путем открытия класса Style, который в основном обрабатывает все связанные с оформлением функции, такие как шрифт и его атрибуты, выравнивание текста, цвета фона/переднего плана, границы, формат отображения для чисел и литералов даты и так далее. Еще один полезный класс, который предоставляют API Aspose.Cells-это StyleFlag, который позволяет повторное использование объекта Style.
В данной статье мы постараемся объяснить, как использовать Aspose.Cells for Java API для применения форматирования к строкам и столбцам.
Форматирование строк и столбцов
Aspose.Cells предоставляет класс, Workbook, который представляет собой файл Microsoft Excel. Класс Workbook содержит коллекцию рабочих листов, что позволяет получить доступ к каждому листу в файле Excel. Лист представлен классом Worksheet. Класс Worksheet предоставляет коллекцию Cells. Коллекция Cells предоставляет коллекцию Rows.
Форматирование строки
Каждый элемент в коллекции Rows представляет объект Row. Объект Row предлагает метод applyStyle, используемый для применения форматирования к строке.
Чтобы применить одно и то же форматирование к строке, используйте объект Style:
- Добавьте объект Style к классу Workbook, вызвав его метод createStyle.
- Установите свойства объекта Style для применения параметров форматирования.
- Назначьте настроенный объект Style методу applyStyle объекта Row.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(FormattingARow.class) + "data/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Accessing the added worksheet in the Excel file | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
Cells cells = worksheet.getCells(); | |
// Adding a new Style to the styles collection of the Excel object Accessing the newly added Style to the Excel object | |
Style style = workbook.createStyle(); | |
// Setting the vertical alignment of the text in the cell | |
style.setVerticalAlignment(TextAlignmentType.CENTER); | |
// Setting the horizontal alignment of the text in the cell | |
style.setHorizontalAlignment(TextAlignmentType.CENTER); | |
// Setting the font color of the text in the cell | |
Font font = style.getFont(); | |
font.setColor(Color.getGreen()); | |
// Shrinking the text to fit in the cell | |
style.setShrinkToFit(true); | |
// Setting the bottom border of the cell | |
style.setBorder(BorderType.BOTTOM_BORDER, CellBorderType.MEDIUM, Color.getRed()); | |
// Creating StyleFlag | |
StyleFlag styleFlag = new StyleFlag(); | |
styleFlag.setHorizontalAlignment(true); | |
styleFlag.setVerticalAlignment(true); | |
styleFlag.setShrinkToFit(true); | |
styleFlag.setBottomBorder(true); | |
styleFlag.setFontColor(true); | |
// Accessing a row from the Rows collection | |
Row row = cells.getRows().get(0); | |
// Assigning the Style object to the Style property of the row | |
row.applyStyle(style, styleFlag); | |
// Saving the Excel file | |
workbook.save(dataDir + "FormattingARow_out.xls"); |
Форматирование столбца
Коллекция Cells предоставляет коллекцию столбцов. Каждый элемент в коллекции Columns представляет объект Column. Аналогично объекту Row, объект Column предлагает метод applyStyle, используемый для установки форматирования столбца. Используйте метод applyStyle объекта Column для форматирования столбца также, как и строку.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(FormattingAColumn.class) + "data/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Accessing the added worksheet in the Excel file | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
Cells cells = worksheet.getCells(); | |
// Adding a new Style to the styles collection of the Excel object Accessing the newly added Style to the Excel object | |
Style style = workbook.createStyle(); | |
// Setting the vertical alignment of the text in the cell | |
style.setVerticalAlignment(TextAlignmentType.CENTER); | |
// Setting the horizontal alignment of the text in the cell | |
style.setHorizontalAlignment(TextAlignmentType.CENTER); | |
// Setting the font color of the text in the cell | |
Font font = style.getFont(); | |
font.setColor(Color.getGreen()); | |
// Shrinking the text to fit in the cell | |
style.setShrinkToFit(true); | |
// Setting the bottom border of the cell | |
style.setBorder(BorderType.BOTTOM_BORDER, CellBorderType.MEDIUM, Color.getRed()); | |
// Creating StyleFlag | |
StyleFlag styleFlag = new StyleFlag(); | |
styleFlag.setHorizontalAlignment(true); | |
styleFlag.setVerticalAlignment(true); | |
styleFlag.setShrinkToFit(true); | |
styleFlag.setBottomBorder(true); | |
styleFlag.setFontColor(true); | |
// Accessing a column from the Columns collection | |
Column column = cells.getColumns().get(0); | |
// Applying the style to the column | |
column.applyStyle(style, styleFlag); | |
// Saving the Excel file | |
workbook.save(dataDir + "FormattingAColumn_out.xls"); |
Установка формата отображения чисел и дат для строк и столбцов
Если требуется установить формат отображения чисел и дат для целой строки или столбца, то процесс примерно тот же, что и обсуждался выше, однако вместо установки параметров для текстового содержимого, вы будете устанавливать форматирование для чисел и дат с использованием Style.Number или Style.Custom. Обратите внимание, что свойство Style.Number имеет тип integer и относится к встроенным числовым и датам форматам, тогда как свойство Style.Custom имеет тип string и принимает допустимые шаблоны.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(SettingDisplayFormat.class) + "data/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Obtaining the reference of the first (default) worksheet by passing its sheet index | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
// Adding a new Style to the styles collection of the Workbook object | |
Style style = workbook.createStyle(); | |
// Setting the Number property to 4 which corresponds to the pattern #,##0.00 | |
style.setNumber(4); | |
// Creating an object of StyleFlag | |
StyleFlag flag = new StyleFlag(); | |
// Setting NumberFormat property to true so that only this aspect takes effect from Style object | |
flag.setNumberFormat(true); | |
// Applying style to the first row of the worksheet | |
worksheet.getCells().getRows().get(0).applyStyle(style, flag); | |
// Re-initializing the Style object | |
style = workbook.createStyle(); | |
// Setting the Custom property to the pattern d-mmm-yy | |
style.setCustom("d-mmm-yy"); | |
// Applying style to the first column of the worksheet | |
worksheet.getCells().getColumns().get(0).applyStyle(style, flag); | |
// Saving spreadsheet on disc | |
workbook.save(dataDir + "SDisplayFormat_out.xlsx"); |