0

好的,我首先导入一个 excel 文件,然后将数据保存到数据表中,然后将其放入 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”。

4

1 回答 1

1

我在这里找到了解决方案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'");
于 2012-07-11T02:55:53.963 回答