c# 读取excel 百分数变小数的问题
1采用OleDB读取EXCEL文件excel里面的百分数自动转换成了小数,很纠结,怎么原样读取?而且excel有些通过算术得到的值也是很长的小数。2我用aspose.ce...
1 采用OleDB读取EXCEL文件 excel 里面的百分数自动转换成了小数,很纠结,怎么原样读取?而且excel有些通过算术得到的值也是很长的小数。
2 我用 aspose.cells 读取倒是可以。但是如果excel选项卡有35个,每个里面有3000条信息,速度就会慢到极点。
3 引用的com组件:Microsoft.Office.Interop.Excel.dll 的时候,处理上面百分数的问题也很纠结。
求救啊。谁能解决。能加多少分就加多少。直到500分加完。
必须: 百分数原样读取,读取速度快。
任何别的第三方也是可以的。只要原样读取。速度快一点就可以了。因为我不能让人觉得读取的数据和原数据不一样。 展开
2 我用 aspose.cells 读取倒是可以。但是如果excel选项卡有35个,每个里面有3000条信息,速度就会慢到极点。
3 引用的com组件:Microsoft.Office.Interop.Excel.dll 的时候,处理上面百分数的问题也很纠结。
求救啊。谁能解决。能加多少分就加多少。直到500分加完。
必须: 百分数原样读取,读取速度快。
任何别的第三方也是可以的。只要原样读取。速度快一点就可以了。因为我不能让人觉得读取的数据和原数据不一样。 展开
6个回答
展开全部
1、可以通过设置Excel单元格格式为文本格式解决;
2、这个我有个类可以发送给你Hi我吧;也可以自己到 博客园 寻找
3、呵呵;1. 使用Microsoft.Jet.OLEDB驱动读取Excel内容,需指定Extended Properties 关键字设置 Excel 特定的属性,不同版本的Excel对应不同的属性值如下:
对于 Microsoft Excel 12.0 (2007)、请使用 Excel 12.0
对于 Microsoft Excel 11.0 (2003)、请使用 Excel 11.0
对于 Microsoft Excel 8.0 (97)、9.0 (2000) 和 10.0 (2002) 工作簿,请使用 Excel 8.0。
对于 Microsoft Excel 5.0 和 7.0 (95) 工作簿,请使用 Excel 5.0。
对于 Microsoft Excel 4.0 工作簿,请使用 Excel 4.0。
对于 Microsoft Excel 3.0 工作簿,请使用 Excel 3.0。
一般情况下;读取w 级以上的条数控制在30S左右吧;
因为发布地址可能被屏蔽答案;可以hi我;给你;
2、这个我有个类可以发送给你Hi我吧;也可以自己到 博客园 寻找
3、呵呵;1. 使用Microsoft.Jet.OLEDB驱动读取Excel内容,需指定Extended Properties 关键字设置 Excel 特定的属性,不同版本的Excel对应不同的属性值如下:
对于 Microsoft Excel 12.0 (2007)、请使用 Excel 12.0
对于 Microsoft Excel 11.0 (2003)、请使用 Excel 11.0
对于 Microsoft Excel 8.0 (97)、9.0 (2000) 和 10.0 (2002) 工作簿,请使用 Excel 8.0。
对于 Microsoft Excel 5.0 和 7.0 (95) 工作簿,请使用 Excel 5.0。
对于 Microsoft Excel 4.0 工作簿,请使用 Excel 4.0。
对于 Microsoft Excel 3.0 工作簿,请使用 Excel 3.0。
一般情况下;读取w 级以上的条数控制在30S左右吧;
因为发布地址可能被屏蔽答案;可以hi我;给你;
展开全部
确实,很多时候C#里的方法是集成的,也就意味着,对于输入输出,你只能遵守却不能改变。
你的第二个办法,应该是目前问题的唯一合理解答,但这样意味着“速度缓慢”,显然并不能让你满意。
但事实上,关键你为何要“必须要百分数呢?”,从运算的角度,当然,两者几乎没有差异。(哪怕是从运算时间上来看)或者,仅仅是为了“数据读取”的需要?
如果仅仅是为了将数据更加直观的呈现出来(比如呈现到窗体来,或者通过某些控件),那么简单的变通是可以的,因为如果目的仅仅是“将小数变百分数”,并显示给用户来看,其实仅仅需要将原始数值乘以100,然后转变成string类型,后面加个“%”即可。或者简单来说,你可以设置一个变量a(比如,double类型,根据你的需要)来记录你的数值,再设置一个相应的变量A(string),用来显示。然后设置一个方法S,用处是将a转化成A。这样运算提取a,显示提取A,这样运算和显示两不耽误,你甚至不需要将所有数都转化出百分数,使得运算速度得到一定程度的改善。而多出来的内存占用,好吧,目前的程序早就不把“空间使用量”作为第一考核参数了。
当然,我不清楚这是不是楼主的诉求。但如果需要很专业的解答,通过自定义方法的话,关于C#这类微软类产品,内部数据都不公开,修改方法直接达到目的的难度很大,或许可以关注一些专业的软件开发论坛,发帖求助。
你的第二个办法,应该是目前问题的唯一合理解答,但这样意味着“速度缓慢”,显然并不能让你满意。
但事实上,关键你为何要“必须要百分数呢?”,从运算的角度,当然,两者几乎没有差异。(哪怕是从运算时间上来看)或者,仅仅是为了“数据读取”的需要?
如果仅仅是为了将数据更加直观的呈现出来(比如呈现到窗体来,或者通过某些控件),那么简单的变通是可以的,因为如果目的仅仅是“将小数变百分数”,并显示给用户来看,其实仅仅需要将原始数值乘以100,然后转变成string类型,后面加个“%”即可。或者简单来说,你可以设置一个变量a(比如,double类型,根据你的需要)来记录你的数值,再设置一个相应的变量A(string),用来显示。然后设置一个方法S,用处是将a转化成A。这样运算提取a,显示提取A,这样运算和显示两不耽误,你甚至不需要将所有数都转化出百分数,使得运算速度得到一定程度的改善。而多出来的内存占用,好吧,目前的程序早就不把“空间使用量”作为第一考核参数了。
当然,我不清楚这是不是楼主的诉求。但如果需要很专业的解答,通过自定义方法的话,关于C#这类微软类产品,内部数据都不公开,修改方法直接达到目的的难度很大,或许可以关注一些专业的软件开发论坛,发帖求助。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
LZ可以使用NPOI 读取EXCEL。这种方式读取,写入都比较简单。NPOI 开发者已经将代码很好的封装,只要引用相应的dll,调用对应的方法就可以。
至于LZ所说的百分号,NPOI 是完全可以原样读取的。
至于LZ所说的百分号,NPOI 是完全可以原样读取的。
追问
确实如你说的那样,只是NPOI方法太多了。都不知道该用那个。我先看看
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有别的办法了,只有
数-字符串-数
小数*100=百分数去‘%’的数
这个也可以
数-字符串-数
小数*100=百分数去‘%’的数
这个也可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
小数点向右移两位,﹪去掉。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询