2016-01-02 40 views
1

我使用的Ruby on Rails的Axlsx宝石(https://github.com/randym/axlsx)来创建与列图形的Excel出口,使用以下代码:在Axlsx列之间调节空间中产生的条形图

p = Axlsx::Package.new(author: @current_user.username, workbook: Axlsx::Workbook.new) 
wb = p.workbook 
sheet = wb.add_worksheet(name: 'My worksheet') 
sheet.add_chart(Axlsx::Bar3DChart, start_at: 'A2', end_at: 'K28') do |chart| 
    chart.barDir = :col 
    chart.show_legend = false 
    chart.valAxis.gridlines = true 
    chart.catAxis.gridlines = false 
    chart.gapWidth = '50%' 
    chart.add_series(data: [1,2,3], labels: ['This', 'That', 'Other'], title: 'My chart') 
end 

综观the docs,我似乎可以用gapWidth=来调整条形图之间的空间。使用chart.gapWidth = '50%'不会引发错误,但是当我在Excel中打开生成的文件时,它会告诉我文件已损坏。如果我删除该行,一切工作正常。

谁能告诉我怎么可以在我的生成的图形调整杆之间的空间?

+0

非常怪异。在文档中,我发现:“验证正则表达式的差距量百分比/ 0 *(([0-9])|([1-9] [0-9])|([1-4] [0-9] [ 0-9])| 500)%/”,之后我去了‘正则表达式串产生’,扭转这种..和结果是这样的:‘500%,0000029%......’......我试着所有这些,但也得到文件损坏。 =( –

回答

1

似乎是因为给定的值被逐字插入间隙宽度节点,尽管该值不应该包括在所发射的值“%”符号的百分比。

因此,对于你的例子会产生,我认为只是删除在验证%符号要求的节点<c:gapWidth val="50%"/>而不是<c:gapWidth val="50"/>

最好的解决。

欢迎你用我的克隆回购,现在它有一个修复。 https://github.com/kstuart/axlsx

相关问题