EXCEL导入数据时出现的数据错误的问题

leibaoling 2006-06-13 09:37:29
EXCEL表里有数值7004277597,即当数据值为数字且长度较长时,就会出现7.00428e+009这样的数值出现在DATAGRID里,请问如何去除,
以下我是我的联接方式:
"Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source="+ Path +";"+"Extended Properties='Excel 8.0;HDR=YES;IMEX=1'"
...全文
644 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hmq1012 2006-07-12
  • 打赏
  • 举报
回复
to楼主:请问你是用什么方法把EXCEL数据导入到DATAGRID中的啊?可否告诉我啊。谢谢了!然后又怎样把datagrid中的数据保存到SQL数据库中呢?
Knight94 2006-06-15
  • 打赏
  • 举报
回复
to 我在使用Excel时也遇到了这样的问题,我和楼主不同的是,我的数据在Excel中是文本类型的,比如:0912007006,这样的数据被导入到 DataSet中后同样也变成了科学记数法,请问一下愚翁,对于文本类型的数据,能否可以使用dgtbc.Format = "D"; 这样的方法解决吗?

不是所有类型都能用“D”,这是对数字类型才有的格式化操作符,这方面你参看msdn中的Iformattable接口。
leibaoling 2006-06-15
  • 打赏
  • 举报
回复
换了写法,用COM写法就OK
loveyzy 2006-06-14
  • 打赏
  • 举报
回复
我已经用了toString()方法了,但文本类型数据从Excel中到了DataSet中后就变成科学记数法了.
还有一点要说明,就是这种情况不是每次都发生,绝大多数情况下转换都是成功的,但有时会发生上述情况,但不知道为什么
livode 2006-06-14
  • 打赏
  • 举报
回复
to loveyzy
导文本类型的直接调用要导入数据的tostring()方法就可以了。
loveyzy 2006-06-14
  • 打赏
  • 举报
回复
to Knight94(愚翁)
我在使用Excel时也遇到了这样的问题,我和楼主不同的是,我的数据在Excel中是文本类型的,比如:0912007006,这样的数据被导入到DataSet中后同样也变成了科学记数法,请问一下愚翁,对于文本类型的数据,能否可以使用dgtbc.Format = "D"; 这样的方法解决吗?
Knight94 2006-06-14
  • 打赏
  • 举报
回复
GridColumnStyles: Index starts from 0
Knight94 2006-06-13
  • 打赏
  • 举报
回复
to EXCEL表里有数值7004277597,即当数据值为数字且长度较长时,就会出现7.00428e+009这样的数值出现在DATAGRID里,请问如何去除,

这是你的datagrid显示double的方式是用科学技术法显式。

你需要设置它的输出格式,这方面可以参看
DataGridTextBoxColumn dgtbc= dataGrid1.TableStyles[0].GridColumnStyles[fieldColIndex] as DataGridTextBoxColumn;
if(dgtbc != null)
dgtbc.Format = "D";

leibaoling 2006-06-13
  • 打赏
  • 举报
回复
this.myDataGrid.DataSource=myDataset2.Tables["TableData"];
DataGridTextBoxColumn dgtbc= myDataGrid.TableStyles[0].GridColumnStyles[5] as DataGridTextBoxColumn;
if(dgtbc != null)
dgtbc.Format = "D";
leibaoling 2006-06-13
  • 打赏
  • 举报
回复
是在设置myDataGrid.DataSource后

还是设置数据源前,我按此方法加上去后,出现如下错误
————————————————————————————————————————
An unhandled exception of type 'System.ArgumentOutOfRangeException' occurred in mscorlib.dll

Additional information: Index was out of range. Must be non-negative and less than the size of the collection.

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧