我觉得请问一下,Excel假如要上传入Database,必须先转为 DataTable吗?
我搜了一些材料全是先 Excel → DataTable → Database(sql)
我对DataTable并并不是很熟,这几天逐渐学,我想问一下有别的方式 吗?
如果有别的方式 请要我参照,麻烦了,感谢
下列就是我读Excel to DataTable
但是为了更好地确定,用Console.WriteLine读出是错码
模块是应用 NPOI
using System;
using System.Data;
using System.IO;
using System.Text;
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
namespace Excel_to_DataTable
{
class Program
{
    static void Main(string[] args)
    {
        DataTable dt = new DataTable();
        using(FileStream file = new FileStream(@"H:\ying\桌面上\test\LIST.xlsx", FileMode.Open,FileAccess.Read))
        {
            IWorkbook workbook = null;
            workbook = new XSSFWorkbook(file);
            ISheet sheet = workbook.GetSheetAt(0);
            IRow row;
            row = sheet.GetRow(0);
            if (row != null)
            {
                for(int m = 0; m < row.LastCellNum; m  )
                {
                    string cellvalue = row.GetCell(m).ToString();
                    dt.Columns.Add(cellvalue);
                }
            }
            for(int i = 1; i <= sheet.LastRowNum; i  )
            {
                System.Data.DataRow dr = dt.NewRow();
                row = sheet.GetRow(i);
                if(row != null)
                {
                    for(int j=0; j < row.LastCellNum; j  )
                    {
                        string cellvalue = row.GetCell(j).ToString();
                        dr[j] = cellvalue;
                    }
                }
                dt.Rows.Add(dr);
            }
            file.Close();
            foreach(DataRow roww in dt.Rows)
            {
                foreach (DataColumn col in dt.Columns )
                {
                    Console.WriteLine(roww[col]);
                }
            }
            Console.ReadLine();
        }
    }
}
}