Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# excel导入到数据表的数据类型不正确_C# - Fatal编程技术网

C# excel导入到数据表的数据类型不正确

C# excel导入到数据表的数据类型不正确,c#,C#,我有一个excel文档要导入到数据表中。价格栏有一个小数点后四位的数字,如1234.2300。在进行导入时,我看到列类型为int32,并且我松开了前导零,例如1234.23。我想保留进口的零。如何更改数据表的数据类型 oConn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;data source=" + SavedFile + ";Extended Properties=Excel 12.0;");

我有一个excel文档要导入到数据表中。价格栏有一个小数点后四位的数字,如1234.2300。在进行导入时,我看到列类型为int32,并且我松开了前导零,例如1234.23。我想保留进口的零。如何更改数据表的数据类型

oConn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;data source=" + SavedFile + ";Extended Properties=Excel 12.0;");

                foreach (string sheet in sheets)
                {
                    if (!string.IsNullOrEmpty(sheet))
                    {
                        string query = string.Format("Select * from [{0}$]", sheet);
                        OleDbDataAdapter cmd = new OleDbDataAdapter(query, oConn);

                        oDS.Locale = CultureInfo.CurrentCulture;
                        cmd.Fill(oDS);
                        cmd = null;
                    }
                }

在Excel中更改列类型,方法是右键单击列标题并选择“格式单元格”,然后在新菜单中选择“文本”。

执行此操作后,它将以字符串形式返回数字,因此尾随的零将保留。

如果我将其更改为文本或带4位小数的货币,它仍然不起作用。