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,重复的字符串导致引用的值张冠李戴。作为这上十天的思路一个记载,查的好痛苦。还好,问题解决了。 |
|
回复:告一段落了,xlsreadwrite的研究 软件技术
Jungle(游客)发表评论于2010/9/4 9:57:44 |
博主你太厉害了,在这么短的时间内就把Excel文件格式研究明白了 |
|
» 1 »
|