.net 如何用c语言将Excel数据表中的数据导入sql#
问题 如何将代码导入数据表写入SQL server 2012。 详细信息 我有excel工作表名InvoiceData.xlsx,它有两列.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
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方法吗?如果您是,请检查下面