xlnt库如何编译_c++ excel库 xlnt使用心得

查看源码 发现 cell.cpp中comment()方法中把comment的size重新初始化为200*100,需要自己判断comment的size是否为0,为0才需要初始化。

这时重新编译源码,调用后发现虽然size成功设置了,但excel打开comment大小还是没改变。

通过vim 打开excel ,发现excel由几个xml组成,找到vmlDrawing1.vml并打开。你会找到你之前设置的comment的大小如:width:800pt;height:800pt ,那说明excel中确实设置了,只不过并没有起作用。

这时我在Windows上自己新建了一个excel,然后手动调整了批注框的大小,然后通过vim 打开该excel,将里面的所有xml与之前程序生成的excel的xml进行对比,总结出的结论是comment的大小与vmlDrawing1.vml下的标签“x:Anchor”中的后四位数字有关,具体关系还需要进一步验证

另一种解决方案:修改comment大小主要是为了让comment中的内容显示完整,那么window的excel软件中对批注框有个设置“自适应文本大小”,对应的xml就是在vmlDrawing1.vml的标签v:textbox中增加mso-fit-shape-to-text:t,即:”style=”mso-direction-alt:auto;auto;mso-fit-shape-to-text:t”。不知过这个在linux的excel软件中不起作用。源码修改就是xlsx_producer.cpp中“write_attribute(“style”, “mso-direction-alt:auto”);”修改为“write_attribute(“style”, “mso-direction-alt:auto;auto;mso-fit-shape-to-text:t”);”即默认自适应

-如果linux平台打开excel,那还是需要弄懂 x:Anchor里面的内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值