Я использую SqlBulkCopy класс для чтения первенствует в таблицеSqlBulkCopy читает только 255 символов
string connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + targetFileName + ";Extended Properties=Excel 12.0;";
//OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + targetFileName + @";Extended Properties=""Excel 8.0;IMEX=1;ImportMixedTypes=Text;HDR=YES;""");
OleDbConnection con = new OleDbConnection(connStr);
OleDbCommand myCommand = new OleDbCommand("SELECT * FROM [Sheet1$]", con);
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(System.Configuration.ConfigurationManager.ConnectionStrings["CrossMediaConnectionString"].ToString()))
try
{
{
#region SqlBulkCopy
bulkCopy.DestinationTableName = "tbl_TempProductData";
bulkCopy.ColumnMappings.Add("product_code", "ProductCode");
bulkCopy.ColumnMappings.Add("product_name", "ProductName");
bulkCopy.ColumnMappings.Add("category_relation_id", "RelatedCategoryId");
bulkCopy.ColumnMappings.Add("short_description", "ProductDescription");
con.Open();
bulkCopy.WriteToServer(myCommand.ExecuteReader());
}
}
но ProductDescription читает только 255 символов, даже для настольного tbl_TempProductData Я установил длину макс
возможно дубликат [сотовых значений Excel укорочены по OLEDB-провайдеру] (http://stackoverflow.com/questions/898513/excel-cell-values -А-усеченное по-OLEDB-провайдер) –