好的,我首先导入一个excel文件,然后将数据保存到Data表中,然后将其放入Gridview中。我想将列标题名称复制到行单元格中,并且输入字符串不是正确格式的错误。我尝试更改列数据类型,它的工作原理。但复制的数据与原始数据不同。这是我正在使用的代码:
DataTable dtf1 = new DataTable();
OleDbDataAdapter adapter = new OleDbDataAdapter(sql, con);
adapter.FillSchema(dtf1, SchemaType.Source);
dtf1.Columns[6].DataType = typeof(string);
adapter.Fill(dtf1);
dtf1.Rows[0][6] = dtf1.Columns[6].ColumnName.ToString();
原始数据是邮政编码“3210”,但它将其复制为“F7”。
答案 0 :(得分:0)
我在这里找到了解决方案OleDB & mixed Excel datatypes : missing data。问题是当excel导入数据时它忽略了数字。更改连接字符串解决了问题。
OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ServerPath + ";Extended Properties='Excel 8.0;IMEX=1;HDR=NO;TypeGuessRows=0;ImportMixedTypes=Text'");
以前是
OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ServerPath + ";Extended Properties='Excel 8.0;IMEX=1'");