C#OleDb读取excel精度

microchang 2014-10-13 10:21:20
请教诸位大拿:

C#用OleDb读取Exce的lsheet页的时候,excel上显示精度没有数据精度高(比如2.3333333显示在cell上是2.33),用OleDb读取的时候发现显示的是什么就读取什么(读到内存中的数据是2.33)。现在excel的显示格式我们无法控制,有可能2.3,也有可能2.333,但是数据计算需要高精度,请问有什么办法解决?
...全文
138 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
microchang 2014-10-16
  • 打赏
  • 举报
回复
引用 1 楼 happy09li 的回复:
[quote=引用 楼主 microchang 的回复:] 请教诸位大拿: C#用OleDb读取Exce的lsheet页的时候,excel上显示精度没有数据精度高(比如2.3333333显示在cell上是2.33),用OleDb读取的时候发现显示的是什么就读取什么(读到内存中的数据是2.33)。现在excel的显示格式我们无法控制,有可能2.3,也有可能2.333,但是数据计算需要高精度,请问有什么办法解决?
用NPOI读取看下,如果不行,那就只有改Excel了[/quote] 感谢指教。
microchang 2014-10-16
  • 打赏
  • 举报
回复
引用 2 楼 FoxDave 的回复:
2.33需要显示成2.33000? 还是什么 如果Excel本来精度不够,那是无法控制的
是2.33333显示在cell上成了2.3,精度变低了。 原因是,读取的时候OleDb连接字符串参数IMEX=1,相当于以字符串格式读取(需要读取表头),自然显示什么读取什么了。 换用npoi解决。
Justin-Liu 2014-10-16
  • 打赏
  • 举报
回复
2.33需要显示成2.33000? 还是什么 如果Excel本来精度不够,那是无法控制的
熙风 2014-10-16
  • 打赏
  • 举报
回复
引用 楼主 microchang 的回复:
请教诸位大拿: C#用OleDb读取Exce的lsheet页的时候,excel上显示精度没有数据精度高(比如2.3333333显示在cell上是2.33),用OleDb读取的时候发现显示的是什么就读取什么(读到内存中的数据是2.33)。现在excel的显示格式我们无法控制,有可能2.3,也有可能2.333,但是数据计算需要高精度,请问有什么办法解决?
用NPOI读取看下,如果不行,那就只有改Excel了

4,816

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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