excel转成ds后的字符串截取问题
tzysf 2008-09-26 12:47:56 在excel转成ds后,经检查分析,发现字符串的长度给截取了。比如一个excel的单元格,字符串长度在280左右,转成ds后,字符串长度自动取前255个字符,导致了数据丢失,请问各位大虾有好的解决方法没?在线等。
附转换部分的C#代码:
String strConn = "Provider=Microsoft.Jet.OleDb.4.0;";
strConn += "data source=" + filePath + ";";
strConn += "Extended Properties=Excel 8.0;";
strConn += "IMEX=1";//HDR=Yes;
OleDbConnection objConn = new OleDbConnection(strConn);
ArrayList SheetNameList = new ArrayList();
objConn.Open();
System.Data.DataTable dtExcelSchema = new System.Data.DataTable();
dtExcelSchema = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new Object[] { null, null, null, "TABLE" });
String SheetName = "";
for (int i = 0; i <= dtExcelSchema.Rows.Count - 1; i++)
{
SheetName = dtExcelSchema.Rows[i]["TABLE_NAME"].ToString();
if (SheetName.IndexOf("$_") > 0)
continue;
SheetNameList.Add(SheetName);
}
DataSet dsExcel = new DataSet();
String strSql = "";
for (int i = 0; i <= SheetNameList.Count - 1; i++)
{
strSql = "select * from [" + SheetNameList[i].ToString() + "]";
OleDbDataAdapter oleExcelDataAdapter = new OleDbDataAdapter(strSql, objConn);
System.Data.DataTable dtExcel = new System.Data.DataTable(SheetNameList[i].ToString().Replace("$", "").Trim());
oleExcelDataAdapter.Fill(dtExcel);
dsExcel.Tables.Add(dtExcel);
}
//foreach (System.Data.DataTable table in dsExcel.Tables)
//{
// table.TableName = table.TableName.Replace("$", "").ToString().Trim();
//}
return dsExcel;