本站首页    管理页面    写新日志    退出


«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31


公告
================

注会练习软件
http://www.cpasoft.com.cn
我的注会软件官网

http://blog.163.com/abc7105@126/

 

 


哈哈,热爱快“过气”的DELPHI


我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:注册会计师(注会)练习软件
日志总数:398
评论数量:116
留言数量:27
访问次数:3265105
建立时间:2005年6月6日




[delpih编程]告一段落了,xlsreadwrite的研究
软件技术

吕向阳 发表于 2010/8/20 16:56:44

一个自己最常用的excel文档,xlsreadwrite打开后立即写入后还出现偶尔的失败,并且是一种多次执行后的必然。这就让人有点想不通了,又没有随机性的因素,怎么会有时成功,有时失败呢。很久都没有这样看过人家的代码了,从源码,到excel文件的结构,整整10天时间就是这事情。终于解决了,分析了下:1、因为删除部分字符后文件能正常读写,初期排查重点放在找出是那些字符,刚开始极端怀疑“”/等,时间都放在这上面了,测试了几天后仍然找不到必然的规律。故放弃,进入源码阶段2.因为有字符在生成的文件中读不出,故怀疑出在字符串相关上,打与excel结构相关的文档3、网上下载相关excel结构的文档,知是sst保存字符,在单元格中以地址来引用的。故确定sst的读写为重点在excel的sst字符结构的读写后,每次流的地址都不一致,进一步追踪是否sst的字符编码算法有问题,经查源码,编码算法也正确。4、将sst的读出值与写入时的值比较,并导出为文本文档,最后放到excel文档中进行比较,问题出在有重复值的字符上,这些字符的编码字符集不同,导致了读写的不一致。5、进一步查怎么会出现不同的,sst是以hashtrie的形式保存的,以递归调用导出到流,算法是以字符串作为关键字生成的key,重复的字符串导致引用的值张冠李戴。作为这上十天的思路一个记载,查的好痛苦。还好,问题解决了。


阅读全文(4741) | 回复(1) | 编辑 | 精华
 


回复:告一段落了,xlsreadwrite的研究
软件技术

Jungle(游客)发表评论于2010/9/4 9:57:44

博主你太厉害了,在这么短的时间内就把Excel文件格式研究明白了


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.281 second(s), page refreshed 144764462 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号