Je ne pense pas qu'il soit possible sans bouclage cellules utilisant NPOI.
Probablement, il peut être fait en utilisant Interop à Excel, car il est possible de sélectionner la plage dans le fichier et d'effectuer certaines actions sur elle (comme dans Excel), mais NPOI ne propose pas une telle capacité.
Howewer, vous n'avez pas besoin de boucle à travers toutes les cellules en tôle car il existe des propriétés FirstRowNum
et LastRowNum
et ils vous donne gamme de lignes contenant réellement des données.
Ainsi, votre boucle pourrait ressembler (convertir en majuscules toutes les chaînes de la première feuille de fichier):
var hssfwb;
using (var file = new FileStream(@"your_file.xls", FileMode.Open, FileAccess.Read))
{
hssfwb = new HSSFWorkbook(file);
file.Close();
}
var sheet = hssfwb.GetSheetAt(0);
for (int i = sheet.FirstRowNum; i <= sheet.LastRowNum; i++)
{
var row = sheet.GetRow(i);
if (row != null)
{
foreach (ICell cell in row.Cells.Where(c => c.CellType == CellType.String))
cell.SetCellValue(cell.StringCellValue.ToUpper());
}
}
La fonction '.ToUpper()' est généralement utilisé en C# pour convertir une chaîne en sa majuscule équivalent. – Jeeped
@Jeeped merci pour votre réponse, j'ai besoin si possible de répercuter tous les mots directement sans boucler toutes les cellules de feuille, – Yacino
Toutes les suggestions s'il vous plaît – Yacino