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

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

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

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

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

Наиболее простой подход к автоматическому изменению ширины и высоты строки - вызов метода autoFitRow класса 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.");

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

Самый простой способ автоматически установить ширину и высоту столбца - вызвать метод autoFitColumn класса 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 со следующими элементами:

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

Важно знать