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



我有一个excel文档,正在导入到DataTable中。价格柱有一个小数点后四位的数字,例如1234.2300。当进行导入时,我看到列类型是int32,并且我去掉了前导零,例如1234.23。我想保留进口的零。如何更改DataTable的DataType?

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中更改列类型,方法是右键单击列标题并选择"格式化单元格",然后在新菜单中选择"文本"
完成此操作后,它将以字符串的形式返回数字,因此后面的零将保留。

最新更新