writeexcel gem 中的合并格式的问题的解决

来源:互联网 发布:从0到简单小游戏java 编辑:程序博客网 时间:2024/05/19 19:34

发生的背景:

writeexcel可以在rails的项目中导出excel,本来在wps2013的测试环境下这个问题是不存在的,但是在用户的2003版本下就出

问题了,导出的excel中的一些字符没显示出来,捣鼓了5个钟才解决了.

解决过程:

开始会分析一下为什么会出现那样的错误,可是分析问题时思维很弱,那些都不是真的存在的问题,突然间就想起一个师兄曾

讲过的话,问题解决不了,一个是经验问题,一个是资源问题,还有另外一个是态度问题.最后一个是基础,前面的都可以积

累.可首先经验就是问题了吧,分析的时候觉得是excel的表格中重复使用了,其实可能性很容易验证,就是注释掉可能存在重复

的,或者在已有的项目上重复使用表格看会出现什么情况.但是那时只是以为是数字要变成字符才可以显示的,所以很多时间都在

改数字上了,改完就测试,其实步骤是错的,应该仔细分析出现这个问题的原因,之前有没有出现过,之前是怎么解决的.应该是

查找之前的资料有没有类似的情况,而不是动手就猜想,然后测试,然后又猜,然后时间没了.就是在那个坑里徘徊了很久,终于

想起看原原本本的文档了.

writeexcel文档虽然是英文的,但是到了这时只能是死马当活马了,了解了writeexcel要执行的一些步骤后,而且仔细看了各个

法的作用,想办法看有没有什么会导致气冲突.终于看到了merge_range这个方法,而且下面还有个提醒的.

WARNING. The format object that is used with a merge_range() method call is marked internally as being associated with a 

merged range. It is a fatal error to use a merged format in a non-merged cell. Instead you should use separate formats for 

merged and non-merged cells. This restriction will be removed in a future release.

大概意思是在merge的格子中使用的格式又在没有merged的格子中使用会有致命的错误,主要是这一句了所以就另外的定义了一个

变量,虽然merge的和non-merge的格式是一样的,但是定义的变量的object_id必须不一致的,不然会有问题.想在终于体会到学英

文的重要性了(虽然之前只是知道,但没体会),就一些很少大众化的东西,还是得看原始的文档,而且这次自己的分析问题的方

方式也不对,总是自己猜想,没有仔细分析,认证,然后就是重复的测试,反反复复的时间就没了.

总结:

提高分析问题的思路,那样会省很多解决问题的时间,同时还要时常总结一下.

0 0
原创粉丝点击