NPOI操作Excel時使用列頭來讀取數據的方法


首先定義擴展方法:

 1    public static ICell GetCell(this IRow row, string clounmName)
 2         {
 3             IRow firstRow = row.Sheet.GetRow(0);
 4             for (int i = 0; i < firstRow.PhysicalNumberOfCells; i++)
 5             {
 6                 if (firstRow.GetCell(i).GetValue() == clounmName)
 7                 {
 8                     return row.GetCell(i);
 9                 }
10             }
11             throw new Exception(string.Format("未找到名為\"{0}\"的列頭", clounmName));
12         }

調用:

  FileStream fs = new FileStream(fileName, FileMode.Open)

  IWorkBook workbook = new NPOI.XSSF.UserModel.XSSFWorkbook(fs);
  string value = string.Empty;

   ISheet sheet = workbook.GetSheetAt(0);
for (int i = 1; i < sheet.PhysicalNumberOfRows; i++) { value = sheet.GetRow(i).GetCell("數量").GetValue(); }

 附:擴展方法的使用:

擴展方法使你能夠向現有類型“添加”方法,而無需創建新的派生類型、重新編譯或以其他方式修改原始類型。  擴展方法是一種特殊的靜態方法,但可以像擴展類型上的實例方法一樣進行調用。

1 //創建自己的靜態類
2 public static class MyExtension
3     {
4       //靜態方法
5         public static int Number(this String str)
6         {
7             return str.Length;
8         }
9     }
1  class Program
2     {
3         static void Main(string[] args)
4         {
5             //使用擴展方法
6             string str = "Hello World";
7             Console.WriteLine(str.Number());
8         }
9     }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM