首先定义扩展方法:
public static ICell GetCell(this IRow row, string clounmName)
{
IRow firstRow = row.Sheet.GetRow();
for (int i = ; i < firstRow.PhysicalNumberOfCells; i++)
{
if (firstRow.GetCell(i).GetValue() == clounmName)
{
return row.GetCell(i);
}
}
throw new Exception(string.Format("未找到名为\"{0}\"的列头", clounmName));
}
调用:
FileStream fs = new FileStream(fileName, FileMode.Open) IWorkBook workbook = new NPOI.XSSF.UserModel.XSSFWorkbook(fs);
string value = string.Empty; ISheet sheet = workbook.GetSheetAt();
for (int i = ; i < sheet.PhysicalNumberOfRows; i++)
{
value = sheet.GetRow(i).GetCell("数量").GetValue();
}
附:扩展方法的使用:
扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。 扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。
//创建自己的静态类
public static class MyExtension
{
//静态方法
public static int Number(this String str)
{
return str.Length;
}
}
class Program
{
static void Main(string[] args)
{
//使用扩展方法
string str = "Hello World";
Console.WriteLine(str.Number());
}
}