C# 在Asp.Net中导入Excel工作表
我需要询问有关导入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数据导入数据集,然后使用数据集创建所需的表。例如,在遍历第一列时,可以先检查字符串是否有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