Gem 关于 axlsx 导出 excel 的问题

suffering · 2014年10月14日 · 3077 次阅读

最近项目上需要导出 excel 并快速打印单据. 工作环境: windows xp + google chrome + EPSON-LQ-630K 具体的工作流程如下:

  • click to export excel (.xlsx)
  • open the exported excel
  • click to print 这个流程倒是很简单. 直接使用axlsx, 简单好用很快就搞定了. 但是在打印时问题出现了: 导出的 excel 的打印尺寸应该是8.5in * 5.5in. 这不是微软默认的打印尺寸, 也不是 epson 默认的打印尺寸. 所以只能定义一个打印尺寸. 具体参见: http://msdn.microsoft.com/en-us/library/windows/desktop/dd319099v=vs.85).aspx( axlsx提供了丰富的方法来设置pager size, 也提供了自定义尺寸的 options, 但是, 实际使用中却怎么也调试不好.

这里的 axlsx 相应的源码: https://github.com/randym/axlsx/blob/master/lib/axlsx/workbook/worksheet/page_setup.rb 读完后发现usePrinterDefaults放在 todo 里. 也即是说, 即使设置打印机的默认打印纸, 也是不行. 导出的 excel 默认为设置成Letter格式. ...

果然程序员最痛恨的还是 windows...

大家有没有好的意见? hack axlsx 的方案或直接换个 gem? 已经试过writeexcel,这个更坑.

悲剧地无人理会...

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请 注册新账号