在Asp.Net中导入Excel工作表

时间:2016-05-13 01:51:32

标签: c# asp.net sql-server excel import

我需要询问有关子女父母关系的导入excel表格问题。

下面我有一个示例表enter image description here

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

        IndustryName | IndustryCode | CategoryName | CategoryCode | CategoryValue | SubCategoryName | SubCategoryCode | SubCategoryValue
        IndustryName1  IndustCode     CatName        CatCode        CatValue        SubCatName        SubCatCode        SubCatValue
        IndustryName1  IndustCode     CatName        CatCode        CatValue        SubCatName        SubCatCode        SubCatValue

在SubCategory行上SubCategoryCode前面有两个空格.Its Fixed。

任何人都知道我该怎么做?

1 个答案:

答案 0 :(得分:0)

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

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;
            }
        }