我正在开发这个简单的应用程序来上传 Excel 文件 ( .xlsx
) 并将该 Excel 工作表中的数据导入 .NET 中的 SQL Server Express 数据库
在浏览并选择文件后,我在单击导入按钮时使用以下代码来执行此操作。
protected void Button1_Click(object sender, EventArgs e)
{
String strConnection = "Data Source=.\\SQLEXPRESS;AttachDbFilename='C:\\Users\\Hemant\\documents\\visual studio 2010\\Projects\\CRMdata\\CRMdata\\App_Data\\Database1.mdf';Integrated Security=True;User Instance=True";
//file upload path
string path = FileUpload1.PostedFile.FileName;
//string path="C:\\ Users\\ Hemant\\Documents\\example.xlsx";
//Create connection string to Excel work book
string excelConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;Persist Security Info=False";
//Create Connection to Excel work book
OleDbConnection excelConnection = new OleDbConnection(excelConnectionString);
//Create OleDbCommand to fetch data from Excel
OleDbCommand cmd = new OleDbCommand("Select [ID],[Name],[Designation] from [Sheet1$]", excelConnection);
excelConnection.Open();
OleDbDataReader dReader;
dReader = cmd.ExecuteReader();
SqlBulkCopy sqlBulk = new SqlBulkCopy(strConnection);
//Give your Destination table name
sqlBulk.DestinationTableName = "Excel_table";
sqlBulk.WriteToServer(dReader);
excelConnection.Close();
}
但是当我使用时代码没有运行
string path = FileUpload1.PostedFile.FileName;`
乃至
string path="C:\ Users\ Hemant\Documents\example.xlsx";`
dReader
无法采用这种格式的路径。
它只能采用以下格式的路径
string path="C:\\ Users\\ Hemant\\Documents\\example.xlsx";
即\\
在路径中。为此我必须硬编码路径,但我们必须浏览文件。
那么,任何人都可以提出一个解决方案来使用所采用的路径FileUpload1
来导入数据吗?