2015-04-07 1 views
0

J'ai besoin de convertir tous les mots de la feuille en majuscules en utilisant NPOI en C#; Je ne peux pas trouver de méthode pour le faire.Comment mettre en majuscules tous les mots dans une feuille de calcul Excel en utilisant NPOI C#

  • Avant d'appliquer en majuscules: Cellule [1; 1] = stackoverflow
  • Après avoir appliqué en majuscules: Cellule [1; 1] = Stackoverflow
+1

La fonction '.ToUpper()' est généralement utilisé en C# pour convertir une chaîne en sa majuscule équivalent. – Jeeped

+0

@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

+0

Toutes les suggestions s'il vous plaît – Yacino

Répondre

1

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()); 
    } 
} 
+0

Salut, merci pour votre aide, je pense que votre solution est la meilleure pour faire cela. – Yacino

+0

@DStanley oh .... attends, de quels appels COM parlez-vous? La solution mentionnée dans ma réponse concerne NPOI - elle n'utilise aucune interface COM comme Office Interop - elle écrit simplement des fichiers aux formats MS Office. –

+0

Désolé, Andy - J'ai complètement passé sous silence l'utilisation de NPOI. –