Автоподбор высоты и ширины строк и столбцов

Автоматическая подгонка размера

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

Лист представлен классом Worksheet. Класс Worksheet предоставляет множество свойств и методов для управления листом. В этой статье рассматривается использование класса Worksheet для автоподбора высоты строк или ширины столбцов.

Автоматическая подгонка строки - простой

Самый простой способ автоматически подогнать ширину и высоту строки — вызвать метод Worksheet.autoFitRow. Он принимает индекс строки, которую нужно изменить.

// 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(AutoFitRowsandColumns.class) + "rows_cloumns/";
// 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);
// Auto-fitting the 2nd row of the worksheet
worksheet.autoFitRow(1);
// Auto-fitting the 1st column of the worksheet
worksheet.autoFitColumn(0);
// Saving the modified Excel file in default (that is Excel 2003) format
workbook.save(dataDir + "AutoFitRowsandColumns_out.xls");
// Print message
System.out.println("Row and Column auto fit successfully.");

Автоподбор высоты строки в диапазоне ячеек

Строка состоит из множества столбцов. Aspose.Cells позволяет автоматического подогнать строку по содержимому диапазона ячеек внутри строки, вызвав перегруженную версию метода autoFitRow. Этот метод принимает параметры:

  • Индекс строки, индекс строки, которую нужно автоматически подогнать.
  • Индекс первого столбца, индекс первого столбца строки.
  • Индекс последнего столбца, индекс последнего столбца строки.

Метод autoFitRow проверяет содержимое всех столбцов строки и автоматически настраивает высоту строки.

// 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(AutoFitRowsinaRangeofCells.class) + "rows_cloumns/";
// 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);
// Auto-fitting the row of the worksheet
worksheet.autoFitRow(1, 0, 5);
// Saving the modified Excel file in default (that is Excel 2003) format
workbook.save(dataDir + "AutoFitRowsinaRangeofCells_out.xls");
// Print message
System.out.println("Row auto fit successfully.");

Автоподгонка столбца - Простая

Самый простой способ автоматически подогнать ширину и высоту столбца — вызвать метод Worksheet.autoFitColumn. Он принимает индекс столбца, который нужно изменить.

// 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(AutoFitRowsandColumns.class) + "rows_cloumns/";
// 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);
// Auto-fitting the 2nd row of the worksheet
worksheet.autoFitRow(1);
// Auto-fitting the 1st column of the worksheet
worksheet.autoFitColumn(0);
// Saving the modified Excel file in default (that is Excel 2003) format
workbook.save(dataDir + "AutoFitRowsandColumns_out.xls");
// Print message
System.out.println("Row and Column auto fit successfully.");

Автоподгонка столбца в диапазоне ячеек

Столбец состоит из множества строк. Можно автоматически подогнать ширину столбца на основе содержимого диапазона ячеек этого столбца, вызвав перегруженную версию метода autoFitColumn, которая принимает параметры:

  • Индекс столбца, представляет индекс столбца, содержимое которого должно быть автоматически подогнано
  • Индекс первой строки, представляет индекс первой строки столбца
  • Индекс последней строки, представляет индекс последней строки столбца

Метод autoFitColumn проверяет содержимое всех строк в столбце и автоматически подгоняет ширину.

// 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(AutoFitColumnsinaRangeofCells.class) + "rows_cloumns/";
// 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);
// Auto-fitting the Column of the worksheet
worksheet.autoFitColumn(4, 4, 6);
// Saving the modified Excel file in default (that is Excel 2003) format
workbook.save(dataDir + "AutoFitColumnsinaRangeofCells_out.xls");
// Print message
System.out.println("Columns auto fit successfully.");

AutoFit строк для объединенных ячеек

С помощью Aspose.Cells можно автоматически подогнать строки даже для объединенных ячеек, используя API AutoFitterOptions. Класс AutoFitterOptions предоставляет свойство AutoFitMergedCellsType, которое можно использовать для автоматической подгонки строк для объединенных ячеек. AutoFitMergedCellsType принимает перечисление AutoFitMergedCellsType со следующими элементами:

  • НИКАКОЙ: Игнорирует объединенные ячейки.
  • FIRST_LINE: расширяет высоту только первой строки.
  • LAST_LINE: расширяет высоту только последней строки.
  • КАЖДАЯ_СТРОКА: Только увеличивает высоту каждой строки.
// 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(AutofitRowsforMergedCells.class) + "RowsAndColumns/";
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.getWorksheets().get(0);
// Create a range A1:B1
Range range = worksheet.getCells().createRange(0, 0, 1, 2);
// Merge the cells
range.merge();
// Insert value to the merged cell A1
worksheet.getCells().get(0, 0).setValue("A quick brown fox jumps over the lazy dog. A quick brown fox jumps over the lazy dog....end");
// Create a style object
Style style = worksheet.getCells().get(0, 0).getStyle();
// Set wrapping text on
style.setTextWrapped(true);
// Apply the style to the cell
worksheet.getCells().get(0, 0).setStyle(style);
// Create an object for AutoFitterOptions
AutoFitterOptions options = new AutoFitterOptions();
// Set auto-fit for merged cells
options.setAutoFitMergedCellsType(AutoFitMergedCellsType.EACH_LINE);
// Autofit rows in the sheet(including the merged cells)
worksheet.autoFitRows(options);
// Save the Excel file
workbook.save(dataDir + "AutofitRowsforMergedCells_out.xlsx");

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

Сигнатуры вышеперечисленных методов следующие:

  1. autoFitRows(int startRow, int endRow, AutoFitterOptions options)
  2. autoFitColumns(int firstColumn, int lastColumn, AutoFitterOptions options)

Важно знать