请给个建议

weixin_42232897 2018-05-17 09:16:52
要处理的数据是三个目录的文件
每个目录下都是4000个EXCEL文件,
每个目录下的文件名都是相同的,只是里面的数据格式不同
我以前是用VC6MFC处理,速度太慢,
想用C#处理,就是把三个目录的EXCEL转成三个目录的二进制文件。
问题
1 用C#的什么方式处理,使速度最快
2 大概处理流程说一下
谢谢各位
...全文
608 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2018-05-19
  • 打赏
  • 举报
回复
如果文件之间没有相关性,可以多线程/多进程,基本上你有几个cpu可以加速到几倍。
weixin_42232897 2018-05-19
  • 打赏
  • 举报
回复
我还是改进原来的方法吧,谢谢各位 一次性读一张EXCEL看看 不知道VC6MFC多线程怎么搞
xuzuning 2018-05-18
  • 打赏
  • 举报
回复
了解一下 EXCEL 的文件结构,自己书写专用程序(代码量不大),肯定比通用程序要快
weixin_42232897 2018-05-18
  • 打赏
  • 举报
回复
各位的意思是只能是优化VCMFC了,不建议用C# NPOI?
weixin_42232897 2018-05-18
  • 打赏
  • 举报
回复
三个目录, 每个目录下有3600个EXCEL文件 每个EXCEL文件单元各是100*100 我用VC6MFC转EXCEL到二进制文件用了10几个小时, 怎么办?
大鱼> 2018-05-18
  • 打赏
  • 举报
回复
引用 5 楼 twotuli_software 的回复:
你这不是学历证书吗,哪里是excel?
你把CSDN放的广告都截下来什么用意
大鱼> 2018-05-18
  • 打赏
  • 举报
回复
MFC都嫌慢,你用C#?
维秀斯丢丢 2018-05-18
  • 打赏
  • 举报
回复
你这不是学历证书吗,哪里是excel?
正怒月神 2018-05-18
  • 打赏
  • 举报
回复
引用 3 楼 weixin_42232897 的回复:
[quote=引用 2 楼 guwei4037 的回复:] 读取excel用npoi,不要用oledb之类。另外写入文件用filestream流,异步写入。
我也计划用NPOI,不知道速度怎么样?[/quote] 速度快不快,看你电脑好不好。 理论上cpu多核(普遍越多越快),使用Parallel并行处理可以节省至少几倍时间。
weixin_42232897 2018-05-18
  • 打赏
  • 举报
回复
引用 2 楼 guwei4037 的回复:
读取excel用npoi,不要用oledb之类。另外写入文件用filestream流,异步写入。
我也计划用NPOI,不知道速度怎么样?
weixin_42232897 2018-05-18
  • 打赏
  • 举报
回复
引用 11 楼 wddw1986 的回复:
EXCEL到二进制文件是什么意思? 你要知道你慢在什么地方,才能针对性的解决问题。 是慢在读excel,还是慢在处理数据,或者慢在你生成二进制文件,还是别的什么地方。
读出excel的数据再以自己的格式写成二进制的文件,最终目的是将1万多张EXCEL数据加入到一个二进制文件 我想分步完成, 先将每张EXCEL表读出写一个对应的二进制文件 我是每次读一个单元格,应该是慢在这里吧 for(int j=lgUsedColumnNum-1;j>1; --j){//倒序跳过19700101 memset(data,0,100*sizeof(double)); total=0; for ( int i = 0; i < lgUsedRowNum; ++i){ oCurCell.AttachDispatch( range.GetItem( COleVariant( (long)(i + 1)), COleVariant( (long)j ) ).pdispVal, TRUE ); vResult =oCurCell.GetValue2(); if (vResult.vt==VT_R8) strItemName.Format(_T("%.4lf"),vResult.dblVal); else if(vResult.vt==VT_EMPTY) strItemName=""; else strItemName=vResult.bstrVal;
cheng2005 2018-05-18
  • 打赏
  • 举报
回复
EXCEL到二进制文件是什么意思? 你要知道你慢在什么地方,才能针对性的解决问题。 是慢在读excel,还是慢在处理数据,或者慢在你生成二进制文件,还是别的什么地方。
全栈极简 2018-05-17
  • 打赏
  • 举报
回复
读取excel用npoi,不要用oledb之类。另外写入文件用filestream流,异步写入。
yanghao1 2018-05-17
  • 打赏
  • 举报
回复
C#的速度只会比VC6MFC慢

110,538

社区成员

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

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

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