我一直试图找到一种方法将数据类型字符串转换为nvarchar,同时我从excel电子表格导入数据。到目前为止,我有这段代码通过C#导入数据。
// Connection String to Excel Workbook,Replace DataSource value to point to your excel file location
string excelConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Folder\\Folder\\Excel_File.xls ;Extended Properties=Excel 8.0";
// Create Connection to Excel Workbook
using (OleDbConnection connection =
new OleDbConnection(excelConnectionString))
{
OleDbCommand command = new OleDbCommand
("Select * FROM [Sheet1$]", connection);
connection.Open();
// Create DbDataReader to Data Worksheet
using (DbDataReader dr = command.ExecuteReader())
{
// SQL Server Connection String
string sqlConnectionString = "Data Source=localhost;Initial Catalog=DatabaseName;Integrated Security=True";
// Bulk Copy to SQL Server
using (SqlBulkCopy bulkCopy =
new SqlBulkCopy(sqlConnectionString))
{
bulkCopy.DestinationTableName = "Table_Name";
bulkCopy.WriteToServer(dr);
MessageBox.Show("Data Exported To Sql Server Successfully");
}
}
我已经找到了从字符串转换为nvarchar的方法,但我找到的唯一示例仅用于转换从文本框或通过控制台收集的字符串。我确实在日期类型中有一列,但我已在MSSQL中对其进行了补偿。
如果有人能给我一个我应该做的样本代码,我将不胜感激。
答案 0 :(得分:0)
我怀疑你是否正在“绊倒”Excel正在文本字符串中插入的一些隐藏字符。尝试记录导入的数据以确保它是干净的。