【发布时间】:2011-04-09 12:12:30
【问题描述】:
我正在构建一个离线 C# 应用程序,它将从电子表格中导入数据并将它们存储在我创建的 SQL 数据库中(在项目内部)。通过一些研究,我已经能够使用一些可以将静态表导入到与工作表中的列布局完全相同的数据库中的代码
我要做的是让特定的列根据名称转到正确的表。这样我就可以正确设计数据库,而不仅仅是一个巨大的表来存储所有内容。
下面是我用来将几个静态字段导入到一个表中的代码,我希望能够将导入的数据拆分为多个。
最好的方法是什么?
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);
}
【问题讨论】: