2016-06-03 2 views
1

J'ai une adresse de cellule Excel comme A1, A2. Comment accéder à cette cellule par programmation en utilisant le framework NPOI en C#?Comment obtenir la valeur de la cellule Excel par adresse (A1, A2) en utilisant NPOI

Certains exemples de code Java POI j'ai trouvé:

CellReference cr = new CellReference("A1"); 
row = mySheet.getRow(cr.getRow()); 
cell = row.getCell(cr.getCol()); 
+0

J'ai été attendu beaucoup pour obtenir une solution optimale des développeurs seniors, aucun d'eux ne cherche à m'aider. Alors j'ai essayé de trouver une solution moi-même .. Merci à la communauté de soutien précieux. –

+0

CellReference cr = nouveau CellReference (cellule); row = cr.Row col = cr.Col –

Répondre

3

Le code Java que vous avez trouvé traduit 1: 1 en C#:

  • D'abord, vous convertir la description de la cellule (A1) dans un CellReference
  • Utilisez les et Col à partir de ce CellReference pour rechercher la cellule réelle.

Voici quelques exemples de code

var workbook = new XSSFWorkbook(stream); 
var sheet = workbook.GetSheetAt(0); 

var cr = new CellReference("D5"); 
var row = sheet.GetRow(cr.Row); 
var cell = row.GetCell(cr.Col); 

Console.Write(cell.StringCellValue); 

Notez que la référence à un vide cellulaire entraînera une exception. Excel ne stocke pas les cellules non utilisées en interne, et (N) POI ne tente pas de cacher ce fait au développeur.

+0

Merci, c'est très utile - bien que ce serait encore plus utile avec les types de données au lieu de var. – buffjape

+0

N'oubliez pas d'ajouter toutes les instructions 'using' comme' using NPOI.SS.Util; 'pour CellReference, etc. – user3454439