C# 在Asp.Net中导入Excel工作表

C# 在Asp.Net中导入Excel工作表,c#,asp.net,sql-server,excel,import,C#,Asp.net,Sql Server,Excel,Import,我需要询问有关导入excel工作表的问题以及子-父关系 下面我有一张样品表 然后我需要像这样导入这个表这个格式--> 在子类别行上,子类别代码前面有两个空格。它是固定的 有人知道我该怎么做吗 您可以将excel数据导入数据集,然后使用数据集创建所需的表。例如,在遍历第一列时,可以先检查字符串是否有2个空格,然后将其添加到subcategory列,将其他字符串添加到category列。您所要做的就是遍历数据集的行,并将所需的值存储在新的datatable中 public DataSet Excel

我需要询问有关导入excel工作表的问题以及子-父关系

下面我有一张样品表

然后我需要像这样导入这个表这个格式-->

在子类别行上,子类别代码前面有两个空格。它是固定的


有人知道我该怎么做吗

您可以将excel数据导入数据集,然后使用数据集创建所需的表。例如,在遍历第一列时,可以先检查字符串是否有2个空格,然后将其添加到subcategory列,将其他字符串添加到category列。您所要做的就是遍历数据集的行,并将所需的值存储在新的datatable中

public DataSet ExcelToDS(string Path, string sheetname)
        {
            string xlsConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Path + ";Extended Properties=Excel 8.0;";
            string xlsxConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Path + ";Extended Properties=Excel 12.0";
            using (OleDbConnection conn = new OleDbConnection(xlsxConn))
            {
                conn.Open();
                string strExcel = "select * from [" + sheetname + "$]";
                OleDbDataAdapter oledbda = new OleDbDataAdapter(strExcel, xlsxConn);
                DataSet ds = new DataSet();
                oledbda.Fill(ds, sheetname);
                conn.Close();
                return ds;
            }
        }

您可以将excel数据导入数据集,然后使用数据集创建所需的表。例如,在遍历第一列时,可以先检查字符串是否有2个空格,然后将其添加到subcategory列,将其他字符串添加到category列。您所要做的就是遍历数据集的行,并将所需的值存储在新的datatable中

public DataSet ExcelToDS(string Path, string sheetname)
        {
            string xlsConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Path + ";Extended Properties=Excel 8.0;";
            string xlsxConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Path + ";Extended Properties=Excel 12.0";
            using (OleDbConnection conn = new OleDbConnection(xlsxConn))
            {
                conn.Open();
                string strExcel = "select * from [" + sheetname + "$]";
                OleDbDataAdapter oledbda = new OleDbDataAdapter(strExcel, xlsxConn);
                DataSet ds = new DataSet();
                oledbda.Fill(ds, sheetname);
                conn.Close();
                return ds;
            }
        }

谢谢你的回复。但是我的问题是没有导入excel表。实际上,如何将其转换为sql格式以上的格式。我已经写过,您需要迭代可用的行,并通过在其中存储所需的值来生成所需的表。@ekremtapanThanks for reply。但是我的问题是没有导入excel表。实际上,如何将其转换为sql格式。我已经写过,您需要迭代可用的行,并通过在其中存储所需的值来生成所需的表。@ekremtapan