Форматирование данных

Подходы к форматированию данных в Cells

Общеизвестно, что если ячейки рабочего листа отформатированы правильно, пользователям становится легче читать содержимое (данные) ячейки. Существует множество способов форматирования ячеек и их содержимого. Самый простой способ — отформатировать ячейки с помощью Microsoft Excel в среде WYSIWYG при создании электронной таблицы конструктора. После того, как электронная таблица конструктора создана, вы можете открыть электронную таблицу, используя Aspose.Cells, сохраняя все настройки формата, сохраненные вместе с электронной таблицей. Другой способ форматирования ячеек и их содержимого — использование Aspose.Cells API. В этом разделе мы опишем два подхода к форматированию ячеек и их содержимого с использованием Aspose.Cells API.

Форматирование Cells

Разработчики могут форматировать ячейки и их содержимое, используя гибкий API из Aspose.Cells. Aspose.Cells предоставляет класс,Рабочая тетрадь , представляющий файл Excel Microsoft.Рабочая тетрадь класс содержитРабочий листКоллекция который позволяет получить доступ к каждому рабочему листу в файле Excel. Рабочий лист представленРабочий лист учебный класс.Рабочий лист класс предоставляет коллекцию Cells. Каждый элемент вCellsколлекция представляет собой объектCell учебный класс.

Aspose.Cells обеспечиваетСтиль имущество вCell класс, используемый для установки стиля форматирования ячейки. Кроме того, Aspose.Cells также обеспечиваетСтиль класс, который используется для той же цели. Применяйте к ячейкам различные стили форматирования, чтобы задать цвета фона или переднего плана, границы, шрифты, горизонтальное и вертикальное выравнивание, уровень отступа, направление текста, угол поворота и многое другое.

Использование метода 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");

Использование объекта стиля

Применяя один и тот же стиль форматирования к разным ячейкам, используйтеСтиль объект.

  1. ДобавитьСтиль объект коллекции стилейРабочая тетрадь класса, вызвав метод createStyle класса Workbook.
  2. Получите доступ к недавно добавленному объекту Style из коллекции Styles.
  3. Задайте нужные свойства объекта «Стиль», чтобы применить нужные параметры форматирования.
  4. Назначьте настроенный объект 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 объекта 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(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 предоставляет класс,Рабочая тетрадь , который представляет файл Excel. Класс Workbook содержит коллекцию WorksheetCollection, которая обеспечивает доступ к каждому рабочему листу в файле Excel. Рабочий лист представленРабочий лист учебный класс.

Класс Worksheet предоставляет коллекцию Cells. Каждый элемент в коллекции Cells представляет собой объектCell учебный класс.

Aspose.Cells предоставляет метод setStyle вCell класс, который используется для форматирования ячейки.Стиль класс предоставляет полезные свойства для настройки параметров шрифта.

Выберите любой тип выравнивания текста, используя перечисление TextAlignmentType. Предопределенные типы выравнивания текста в перечислении TextAlignmentType:

Типы выравнивания текста Описание
Нижний Представляет выравнивание текста по нижнему краю
Центр Представляет выравнивание текста по центру
CenterAcross Представляет центр по выравниванию текста
Распределенный Представляет распределенное выравнивание текста
Наполнять Представляет выравнивание заливки текста
Общий Представляет общее выравнивание текста
Оправдывать Представляет выравнивание текста по ширине
Оставил Представляет выравнивание текста по левому краю
Правильно Представляет выравнивание текста по правому краю
Вершина Представляет выравнивание текста по верхнему краю

Горизонтальное выравнивание

ИспользоватьСтиль метод setHorizontalAlignment объекта для выравнивания текста по горизонтали.

Следующий результат достигается путем выполнения приведенного ниже примера кода:

Выравнивание текста по горизонтали

дело:изображение_альтернативный_текст

// 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 объекта для выравнивания текста по вертикали.

Следующий вывод достигается, когда для параметра VerticalAlignment установлено значение center.

Выравнивание текста по вертикали

дело:изображение_альтернативный_текст

// 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 объекта.

Следующий вывод достигается, когда для IndentLevel установлено значение 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 объекта.

Следующий вывод достигается, когда угол поворота установлен на 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");

Текстовое управление

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

Обтекание текста

Обтекание текста в ячейке облегчает чтение: высота ячейки подстраивается под весь текст, вместо того, чтобы обрезать его или распространяться на соседние ячейки.

Включите или выключите обтекание текстом с помощьюСтиль метод setTextWrapped объекта.

Следующий вывод достигается, когда включен перенос текста.

Текст, заключенный внутри ячейки

дело:изображение_альтернативный_текст

// 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 дляистинный.

Следующий вывод достигается, когда текст сжимается, чтобы соответствовать ячейке.

Текст сжат, чтобы соответствовать границам ячейки

дело:изображение_альтернативный_текст

// 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");

Объединение Cells

Как и Microsoft Excel, Aspose.Cells поддерживает объединение нескольких ячеек в одну.

Следующий результат достигается, если три ячейки в первой строке объединяются для создания большой одиночной ячейки.

Три ячейки объединились, чтобы создать большую ячейку

дело:изображение_альтернативный_текст

ИспользоватьCells Метод Merge коллекции для объединения ячеек. Метод 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 объекта. Aspose.Cells предоставляет предварительно определенные типы направления текста в перечислении TextDirectionType.

Типы направления текста Описание
Контекст Порядок чтения соответствует языку первого введенного символа
Слева направо Порядок чтения слева направо
Справа налево Порядок чтения справа налево
// 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");

Следующий вывод достигается, если порядок чтения текста установлен справа налево.

Установка порядка чтения текста справа налево

дело:изображение_альтернативный_текст

Форматирование выбранных символов в Cell

Работа с настройками шрифтаобъяснил, как форматировать ячейки, но только как форматировать содержимое всех ячеек. Что делать, если вы хотите отформатировать только выбранные символы?

Aspose.Cells поддерживает эту функцию. В этом разделе объясняется, как использовать эту функцию.

Форматирование выбранных символов

Aspose.Cells предоставляет класс,Рабочая тетрадь , представляющий файл Excel Microsoft. Класс Workbook содержит коллекцию Worksheets, которая обеспечивает доступ к каждому рабочему листу в файле Excel. Рабочий лист представленРабочий лист учебный класс. Класс Worksheet предоставляет коллекцию Cells. Каждый элемент в коллекции Cells представляет собой объектCell учебный класс.

Класс Cell предоставляет метод символов, который принимает следующие параметры для выбора диапазона символов в ячейке:

  • Начальный индекс, индекс символа, с которого начинается выбор.
  • Количество символов, количество символов для выбора.

В выходном файле в ячейке A1 слово «Посетить» отформатировано шрифтом по умолчанию, но «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");

Активация листов и создание активного Cell или выбор диапазона Cells на рабочем листе

Иногда вам может потребоваться активировать определенный рабочий лист, чтобы он отображался первым, когда кто-то открывает файл в Microsoft Excel. Вам также может понадобиться активировать определенную ячейку таким образом, чтобы полосы прокрутки прокручивались до активной ячейки, чтобы она была хорошо видна. Aspose.Cells способен выполнять все вышеперечисленные задачи.

Активный лист — это лист, над которым вы работаете в книге. Имя на вкладке активного листа по умолчанию выделено полужирным шрифтом. Между тем, активная ячейка — это выбранная ячейка, в которую вводятся данные, когда вы начинаете печатать. Одновременно активна только одна ячейка. Активная ячейка окружена толстой рамкой, чтобы она выделялась на фоне других ячеек. Aspose.Cells также позволяет выбрать диапазон ячеек на листе.

Активация листа и активация Cell

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");

Выбор диапазона Cells на рабочем листе

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. Aspose.Cells API-интерфейсы также предоставляют эту функциональность через свою модель данных, предоставляя класс Style, который в основном обрабатывает все функции, связанные со стилем, такие как шрифт и его атрибуты, выравнивание текста, цвета фона/переднего плана, границы, формат отображения для литералов чисел и дат и т. д. . Другим полезным классом, предоставляемым API Aspose.Cells, является StyleFlag, который позволяет повторно использовать объект Style.

В этой статье мы попытаемся объяснить, как использовать Aspose.Cells for Java API для форматирования строк и столбцов.

Форматирование строк и столбцов

Aspose.Cells предоставляет класс,Рабочая тетрадь который представляет собой файл Excel Microsoft.Рабочая тетрадь содержит коллекцию WorksheetCollection, которая обеспечивает доступ к каждому рабочему листу в файле Excel. Рабочий лист представлен классом Worksheet.Рабочий лист класс предоставляет коллекцию Cells. Коллекция Cells содержит коллекцию строк.

Форматирование строки

Каждый элемент в коллекции Rows представляет объект Row. Объект Row предлагает метод applyStyle, используемый для применения форматирования к строке.

Чтобы применить такое же форматирование к строке, используйте объект Style:

  1. Добавьте объект Style в класс Workbook, вызвав его метод createStyle.
  2. Задайте свойства объекта Style, чтобы применить настройки форматирования.
  3. Назначьте настроенный объект 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. Каждый элемент в коллекции 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");

Настройка формата отображения Numbers и дат для строк и столбцов

Если требуется установить формат отображения чисел и дат для полной строки или столбца, то процесс более или менее такой же, как описано выше, однако вместо установки параметров для текстового содержимого вы будете устанавливать форматирование для чисел и даты, используя Style.Number или Style.Custom. Обратите внимание, что свойство Style.Number имеет целочисленный тип и относится к встроенным форматам чисел и дат, тогда как свойство Style.Custom имеет строковый тип и принимает допустимые шаблоны.

// 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");