我正在构建一个离线的C#应用程序,它将数据从电子表格导入并存储在我创建的SQL数据库中(项目内)。通过一些研究,我已经能够使用一些可以导入静态表的代码,将它们放入与工作表中的列完全相同的数据库中从excel导入数据到多个表
我在做的是将特定列转到他们正确的表基于名称这样我有正确的数据库设计,而不是只有一个巨大的表来存储所有内容
下面是我用于将一些静态字段导入到一个表中的代码,我想能够将导入的数据分割成多个
这样做的最佳方法是什么?
public partial class Form1 : Form
{
string strConnection = ConfigurationManager.ConnectionStrings
["Test3.Properties.Settings.Test3ConnectionString"].ConnectionString;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//Create connection string to Excel work book
string excelConnectionString =
@"Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=C:\Test.xls;
Extended Properties=""Excel 8.0;HDR=YES;""";
//Create Connection to Excel work book
OleDbConnection excelConnection = new OleDbConnection(excelConnectionString);
//Create OleDbCommand to fetch data from Excel
OleDbCommand cmd = new OleDbCommand
("Select [Failure_ID], [Failure_Name], [Failure_Date], [File_Name], [Report_Name], [Report_Description], [Error] from [Failures$]", excelConnection);
excelConnection.Open();
OleDbDataReader dReader;
dReader = cmd.ExecuteReader();
SqlBulkCopy sqlBulk = new SqlBulkCopy(strConnection);
sqlBulk.DestinationTableName = "Failures";
sqlBulk.WriteToServer(dReader);
}
优秀的答案。 – 2010-09-08 18:57:26
@KeithS:我正在考虑这种方法,在一张表中有多个表的excel。你有什么建议吗? – 2012-04-26 09:13:53