【问题标题】:Adjusting space between columns in Axlsx generated bar graph在 Axlsx 生成的条形图中调整列之间的空间
【发布时间】:2016-04-06 08:53:21
【问题描述】:

我正在使用 Ruby on Rails Axlsx gem (https://github.com/randym/axlsx) 使用以下代码创建带有柱形图的 Excel 导出:

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-9])|([1-9][0-9])|([1-4][0-9]]的验证正则表达式0-9])|500)%/”,然后我去“RegEx字符串生成器”,扭转这个..结果是这样的:“500%,0000029%...”......我试过了所有这些,但也会导致文件损坏。 =(

标签: ruby-on-rails axlsx


【解决方案1】:

似乎是因为给定的值被逐字插入到 gapWidth 节点中,尽管该值是一个百分比,但它不应在发出的值中包含“%”符号。

因此,对于您的示例,它将生成节点 <c:gapWidth val="50%"/> 而不是 <c:gapWidth val="50"/>

我认为最好的解决方法就是删除验证器中对 % 符号的要求。

欢迎您现在使用我的克隆存储库,其中包含该修复程序。 https://github.com/kstuart/axlsx

【讨论】:

    猜你喜欢
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多