Форматирование данных
Подходы к форматированию данных в 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"); |
Использование объекта стиля
Применяя один и тот же стиль форматирования к разным ячейкам, используйтеСтиль объект.
- ДобавитьСтиль объект коллекции стилейРабочая тетрадь класса, вызвав метод createStyle класса Workbook.
- Получите доступ к недавно добавленному объекту Style из коллекции Styles.
- Задайте нужные свойства объекта «Стиль», чтобы применить нужные параметры форматирования.
- Назначьте настроенный объект 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 | Представляет центр по выравниванию текста |
Распределенный | Представляет распределенное выравнивание текста |
Наполнять | Представляет выравнивание заливки текста |
Общий | Представляет общее выравнивание текста |
Оправдывать | Представляет выравнивание текста по ширине |
Оставил | Представляет выравнивание текста по левому краю |
Правильно | Представляет выравнивание текста по правому краю |
Вершина | Представляет выравнивание текста по верхнему краю |
Вы также можете применить настройку распределенного выравнивания с помощью метода Style.setJustifyDistributed().
|
Горизонтальное выравнивание
ИспользоватьСтиль метод 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:
- Добавьте объект 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. Каждый элемент в коллекции 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"); |