从excel电子表格创建sql表c#

时间:2014-02-26 09:31:17

标签: c# sql excel

Main Section    Section Name Shorted (30 chars max) Attribute Name Shorted (30)
header          header                              versionId
header          header                              serviceId
header          header                              creationTime
header          header                              brandCode
clientProfile   retirementPlanningAnalysis          signifShortFall
clientProfile   retirementPlanningAnalysis          isProjIncAdeq
clientProfile   retirementPlanningAnalysis          howCloseRetire
clientProfile   retirementPlanningAnalysis          clientsView
clientProfile   regularSavingsAndCapitalInvest      suffCashResEmerg

我把这个表保存在excel中,我需要在它的sql中创建多个表。每个表将由“主要部分名称”加上“部分名称”组成。示例: header_header clientProfile_retirementPlanningAnalysis 。循环并为每个唯一的部分名称创建新表的最佳方法是什么?列将来自属性名称,因此我也需要将它们设置到查询中。

1 个答案:

答案 0 :(得分:0)

将此excel文件视为DataSource,并使用ADO.Net中的Oledb将电子表格作为DataTable获取。这样,您就可以将整个电子表格放入DataTable中。并在数据表上执行所需的处理。并根据需要在SQL中创建表。为了您的帮助,我提供了一些可能有用的代码。

System.Data.DataTable table1 = new System.Data.DataTable();
            OleDbConnection dbConnection1 =
                    new OleDbConnection
                      (@"Provider=Microsoft.Jet.OLEDB.4.0;"
                       + @"Data Source=YourFileName.xls;"
                       + @"Extended Properties=Excel 8.0;HDR=Yes;");
            dbConnection1.Open();
            try
            {
                OleDbDataAdapter dbAdapter1 =
                    new OleDbDataAdapter
                        ("SELECT * FROM [Sheet1$]", dbConnection1);
                dbAdapter1.Fill(table1);
            }
            finally
            {
                dbConnection1.Close();
            }

这是读取excel文件的最佳方式。现在,您可以使用DataTable table1随意进行进一步处理。