Я загружаю файл excel в asp.net C# с помощью следующего кода. Он работает нормально, но проблема в том, что в файле excel некоторые значения столбцов всегда являются числовыми, и если некоторые из этих числовых значений находятся в текстовом формате, а затем загружают нулевое значение. Это мой код - любое предложение, пожалуйста.Excel Загрузка файла в asp.net с использованием SqlBulkCopy
if (!Convert.IsDBNull(FileUpload.PostedFile) &
FileUpload.PostedFile.ContentLength > 0)
{
//FIRST, SAVE THE SELECTED FILE IN THE ROOT DIRECTORY.
FileUpload.SaveAs(Server.MapPath(".") + "\\" + FileUpload.FileName);
// File.Delete(Server.MapPath(FileUpload.FileName));
SqlBulkCopy oSqlBulk = null;
// SET A CONNECTION WITH THE EXCEL FILE.
OleDbConnection myExcelConn = new OleDbConnection(
"Provider=Microsoft.ACE.OLEDB.12.0; " +
"Data Source=" + Server.MapPath(".") + "\\" + FileUpload.FileName +
";Extended Properties=Excel 12.0;");
try
{
myExcelConn.Open();
// GET DATA FROM EXCEL SHEET.
OleDbCommand objOleDB =
new OleDbCommand("SELECT SSS.*,'" + Session["vUserName"].ToString() + "' FROM [Sheet1$] SSS", myExcelConn);
// READ THE DATA EXTRACTED FROM THE EXCEL FILE.
OleDbDataReader objBulkReader = null;
objBulkReader = objOleDB.ExecuteReader();
// SET THE CONNECTION STRING.
// con = new SqlConnection(dbcon);
using (con = new SqlConnection(dbcon))
{
con.Open();
// FINALLY, LOAD DATA INTO THE DATABASE TABLE.
oSqlBulk = new SqlBulkCopy(con);
oSqlBulk.DestinationTableName = "tmpStuffing"; // TABLE NAME.
oSqlBulk.WriteToServer(objBulkReader);
}
lblConfirm.Text = "DATA IMPORTED SUCCESSFULLY.";
lblConfirm.Attributes.Add("style", "color:green");
}
catch (Exception ex)
{
lblConfirm.Text = ex.Message;
lblConfirm.Attributes.Add("style", "color:red");
}
finally
{
// CLEAR.
oSqlBulk.Close();
oSqlBulk = null;
myExcelConn.Close();
myExcelConn = null;
}
}
Ha вы проверяете погоду, ваш запрос возвращает все данные ??? –
@NayanKatkani Не относится. Это проблема преобразования типов. – Corey
@Corey, я думаю, что если это проблема с преобразованием типа, тогда он будет генерировать исключение. –