2013年12月6日 星期五

C# Excel 讀取 NPOI 並轉 DataTable

NPOI載點:http://npoi.codeplex.com/
只限分析.xls格式

public DataTable ExcelForDataTable(string strFilePath)
{
    HSSFWorkbook wk;

    using (FileStream fs = new FileStream(strFilePath, FileMode.Open))
    {
        wk = new HSSFWorkbook(fs);
    }

    //取得sheet名稱
    HSSFSheet hst;
    hst = (HSSFSheet)wk.GetSheetAt(0);

    //單行單行的取得sheet理的資料
    HSSFRow hr;

    DataTable dt = new DataTable();

    for (int i = 0; i < hst.LastRowNum; i++)
    {
        hr = (HSSFRow)hst.GetRow(i);

        //加入DataTable欄位
        if (i == 0)
        {
            for (int a = 0; a < hr.LastCellNum; a++)
            {
                dt.Columns.Add(hr.Cells[a].ToString());
            }

        }

        //加入資料
        else
        {
            DataRow dr = dt.NewRow();
            for (int a = 0; a < hr.LastCellNum; a++)
            {
                dr[a] = hr.Cells[a];
            }
            dt.Rows.Add(dr);

        }

    }

    return dt;

}

標籤: ,

0 個意見:

張貼留言

訂閱 張貼留言 [Atom]

<< 首頁