2016-06-03 21 views
1

Ich habe eine Excel Cell Adresse wie A1, A2. Wie greife ich programmgesteuert mithilfe von NPOI-Framework in C# auf diese Zelle zu?Wie bekomme ich den Excel Cell Wert nach Adresse (A1, A2) mit NPOI

Einige Beispiel-Code Java POI gefunden:

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

Ich wurde viel gewartet, um eine optimale Lösung von den Senior-Entwicklern zu bekommen, keiner von ihnen versucht, mir zu helfen.So versuchte ich, eine Lösung für mich selbst zu finden .. Danke für die wertvolle Unterstützung Gemeinschaft. –

+0

CellReference cr = neue CellReference (Zelle); row = cr.Row col = cr.Col –

Antwort

3

Der Java-Code, den Sie übersetzt 1 gefunden: 1 in C#:

  • Zuerst Sie wandeln die Zellenbeschreibung (A1) in eine CellReference
  • Verwenden Sie die und Col von dieser CellReference, um die tatsächliche Zelle zu suchen.

Hier ist ein Beispielcode

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); 

Sie, dass in Ausnahmefällen eine leer Zelle beachten Referenzierung führen. Excel speichert intern nicht verwendete Zellen nicht und (N) POI versucht nicht, diese Tatsache vor dem Entwickler zu verbergen.

+0

Danke, das ist sehr hilfreich - obwohl es noch hilfreicher mit Datentypen statt Var wäre. – buffjape

+0

Vergessen Sie nicht, all diese 'using'-Anweisungen wie' using NPOI.SS.Util; 'für CellReference usw. hinzuzufügen. – user3454439