Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 如何用c语言将Excel数据表中的数据导入sql#_.net_Sql Server_Tsql_C# 4.0_Ado.net - Fatal编程技术网

.net 如何用c语言将Excel数据表中的数据导入sql#

.net 如何用c语言将Excel数据表中的数据导入sql#,.net,sql-server,tsql,c#-4.0,ado.net,.net,Sql Server,Tsql,C# 4.0,Ado.net,问题 如何将代码导入数据表写入SQL server 2012。 详细信息 我有excel工作表名InvoiceData.xlsx,它有两列 UnitCode CurrentMeterReading 21544 2900 22152 9000 19822 9200 我从excel工作表到datatable获取成功数据,如下所示: public System.Data. DataTable Showda

问题

如何将代码导入数据表写入SQL server 2012。

详细信息

我有excel工作表名InvoiceData.xlsx,它有两列

UnitCode    CurrentMeterReading
21544                2900
22152                9000
19822                9200
我从excel工作表到datatable获取成功数据,如下所示:

public System.Data. DataTable Showdataprint()
        {

            OleDbConnection con = new OleDbConnection(connectionString);
            con.Open();   
            string str = @"SELECT  [UnitCode],[CurrentMeterReading] FROM  [Sheet1$]";
            OleDbCommand com = new OleDbCommand();
            com = new OleDbCommand(str, con);
            OleDbDataAdapter oledbda = new OleDbDataAdapter();
            oledbda = new OleDbDataAdapter(com);
            DataSet ds = new DataSet();
            ds = new DataSet();
            oledbda.Fill(ds,"[Sheet1$]");
            con.Close();
            System.Data.DataTable dt = new System.Data.DataTable();
            dt = ds.Tables["[Sheet1$]"];
            return dt;

        }
Serial  UnitCode          CurrentMeterReading
 2001   21544                2900
 2002   22152                9000
 2003   19822                9200
我成功地将数据从excel获取到Datatable 现在我需要将数据从datatable导入sql server 2012 表名:华欣语音 主键:序列号

CREATE TABLE [dbo].[WAHInvoice](
    [Serial] [int] NOT NULL,
    [Year] [int] NULL,
    [Month] [int] NULL,
    [UnitCode] [int] NULL,
    [CurrentReadingDate] [date] NULL,
    [CurrentMeterReading] [decimal](18, 2) NULL,
 CONSTRAINT [PK_WAHInvoice_1] PRIMARY KEY CLUSTERED 
(
    [Serial] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
我需要知道如何将数据从excel导入sql。

假设我在WahInvoice表中有关于sql的数据

对于max serial 2000,这意味着数据如下:

public System.Data. DataTable Showdataprint()
        {

            OleDbConnection con = new OleDbConnection(connectionString);
            con.Open();   
            string str = @"SELECT  [UnitCode],[CurrentMeterReading] FROM  [Sheet1$]";
            OleDbCommand com = new OleDbCommand();
            com = new OleDbCommand(str, con);
            OleDbDataAdapter oledbda = new OleDbDataAdapter();
            oledbda = new OleDbDataAdapter(com);
            DataSet ds = new DataSet();
            ds = new DataSet();
            oledbda.Fill(ds,"[Sheet1$]");
            con.Close();
            System.Data.DataTable dt = new System.Data.DataTable();
            dt = ds.Tables["[Sheet1$]"];
            return dt;

        }
Serial  UnitCode          CurrentMeterReading
 2001   21544                2900
 2002   22152                9000
 2003   19822                9200
剩余列的所有值都将为null

实际上,我是在Import按钮下为将数据导入sql而编写的 在“导入”按钮下,单击“我写”如下所示:

System.Data.DataTable dt = new System.Data.DataTable();
                    dt = Showdataprint();
//How to import datatable to sql server 2012

您正在寻找SqlBulkCopy方法吗?如果您是,请检查下面