问题
I have an Excel Cell Address like A1, A2. How do I access this cell programmatically using NPOI framework in C#?
Some Java POI example code I found:
CellReference cr = new CellReference("A1");
row = mySheet.getRow(cr.getRow());
cell = row.getCell(cr.getCol());
回答1:
The Java code you found translates 1:1 into C#:
- First you convert the cell description (A1) into a
CellReference
- Use the
Row
andCol
from that CellReference to lookup the actual cell.
Here is some sample 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);
Do note that referencing an empty Cell will result in an exception. Excel doesn't store non-used cells internally, and (N)POI does not attempt to hide that fact from the developer.
来源:https://stackoverflow.com/questions/37608477/how-to-get-the-excel-cell-value-by-address-a1-a2-using-npoi