Ajustar automáticamente filas y columnas
Ajuste automático
Aspose.Cells proporciona una clase, Workbook, que representa un archivo de Microsoft Excel. La clase Workbook contiene una colección Worksheets que permite acceder a cada hoja de cálculo en el archivo de Excel.
Una hoja de cálculo está representada por la clase Worksheet. La clase Worksheet proporciona una amplia gama de propiedades y métodos para administrar una hoja de cálculo. Este artículo analiza el uso de la clase Worksheet para ajustar automáticamente filas o columnas.
Ajuste automático de fila - Simple
El enfoque más directo para cambiar automáticamente el ancho y alto de una fila es llamar al método autoFitRow de la clase Worksheet. El método autoFitRow toma como parámetro el índice de la fila a redimensionar.
// 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."); |
Ajuste automático de fila en un rango de celdas
Una fila está compuesta por muchas columnas. Aspose.Cells permite a los desarrolladores ajustar automáticamente una fila basándose en el contenido en un rango de celdas dentro de la fila llamando a una versión sobrecargada del método autoFitRow. Toma los siguientes parámetros:
- Índice de la fila, el índice de la fila a ajustar automáticamente.
- Índice de la primera columna, el índice de la primera columna de la fila.
- Índice de la última columna, el índice de la última columna de la fila.
El método autoFitRow verifica el contenido de todas las columnas en la fila y luego ajusta automáticamente la fila.
// 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."); |
Ajuste automático de columna - Simple
La forma más fácil de ajustar automáticamente el ancho y alto de una columna es llamar al método autoFitColumn de la clase Worksheet. El método autoFitColumn toma como parámetro el índice de la columna a redimensionar.
// 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."); |
Ajustar automáticamente la columna en un rango de celdas
Una columna está compuesta por muchas filas. Es posible ajustar automáticamente una columna basada en el contenido en un rango de celdas de la columna llamando a una versión sobrecargada del método autoFitColumn, que toma los siguientes parámetros:
- Índice de columna, representa el índice de la columna cuyo contenido necesita ajustarse automáticamente
- Índice de la primera fila, representa el índice de la primera fila de la columna
- Índice de la última fila, representa el índice de la última fila de la columna
El método autoFitColumn verifica el contenido de todas las filas en la columna y luego ajusta automáticamente la columna.
// 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."); |
Ajustar automáticamente filas para celdas fusionadas
Con Aspose.Cells es posible ajustar automáticamente las filas incluso para celdas que han sido fusionadas utilizando la API AutoFitterOptions. La clase AutoFitterOptions proporciona la propiedad AutoFitMergedCellsType que se puede usar para ajustar automáticamente las filas para celdas fusionadas. AutoFitMergedCellsType acepta el enumerador AutoFitMergedCellsType que tiene los siguientes miembros.
- NINGUNO: Ignorar celdas fusionadas.
- PRIMERA_LÍNEA: Solo expande la altura de la primera fila.
- ÚLTIMA_LÍNEA: Solo expande la altura de la última fila.
- CADA_LÍNEA: Solo expande la altura de cada fila.
// 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"); |
También puede usar las versiones sobrecargadas de los métodos autoFitRows y autoFitColumns que aceptan un rango de filas/columnas y una instancia de AutoFitterOptions para ajustar automáticamente las filas/columnas seleccionadas con las AutoFitterOptions deseadas según corresponda.
Las firmas de los métodos antes mencionados son las siguientes:
- autoFitRows(int startRow, int endRow, AutoFitterOptions options)
- autoFitColumns(int firstColumn, int lastColumn, AutoFitterOptions options)