excel - studio - npoi nugget
¿Cómo se pueden configurar las columnas para que "se ajusten automáticamente" en los documentos de Excel creados con NPOI? (2)
Como ya ha indicado Yellowfog, funcionará lo siguiente
mySheet.AutoSizeColumn(columnIndex)
Sin embargo, en las publicaciones aparece cierta abiguedad. Parece ser un método que solo funciona después de haber completado la introducción de datos, estilos, etc. Para que esto funcione
ISheet mySheet = hssfworkbook.CreateSheet("sheet1");
IRow row = mySheet.CreateRow(0);
ICell cell = row.CreateCell(0);
cell.SetCellValue("foo");
mySheet.AutoSizeColumn(0);
pero lo siguiente no tendrá ningún efecto (porque no tiene información para auto-dimensionarlo)
ISheet mySheet = hssfworkbook.CreateSheet("sheet1");
mySheet.AutoSizeColumn(0);
IRow row = mySheet.CreateRow(0);
ICell cell = row.CreateCell(0);
cell.SetCellValue("foo");
NPOI es un puerto .NET del proyecto POI de Java, que permite leer y escribir documentos de Microsoft Excel (así como otros formatos de Office). NPOI 1.2.2 ha introducido soporte para las columnas de "tamaño automático", por lo que la columna se establece en el ancho de la entrada de celda más ancha de la columna. Sin embargo, hay muchos informes de que esto no funciona. ¿Entonces es posible?
He publicado esto solo para responderlo, a fin de proporcionar un registro. Es posible hacer que las columnas se redimensionen automáticamente utilizando NPOI, pero debe agregar todos los datos en columnas, en lugar de en filas. Una vez que todas las celdas se hayan agregado a una columna @ columnIndex, se llamará
mySheet.AutoSizeColumn(columnIndex)
y pasar a la siguiente columna. No he encontrado otra manera de hacer que esta funcionalidad funcione.