ruby-on-rails - 如何设置工作簿的列宽

标签 ruby-on-rails ruby excel axlsx

目前我正在做这样的事情

wb = xlsx_package.workbook

wb.styles do |s|
head_cell = s.add_style :b => true, :alignment => { :horizontal=> :center }
empty_cell = s.add_style :bg_color => "808080"

wb.add_worksheet(name: "Export") do |sheet|
sheet.add_row ['Modulverantwortliche','Dozenten', 'Modultitel', 'CP', 'SWS', 'Sommer/Winter'], :style => [head_cell, head_cell, empty_cell, head_cell, head_cell, head_cell]

foo = getUserDetails()

foo.each do |l|
        modul = l[:object]
        turnus = ""
        if modul.semester_id == 1
        turnus = "s"
        elsif modul.semester_id == 2
        turnus = "w"
        else
        turnus = "s/w"
        end
        sheet.add_row [ modul.modultitel, modul.modulbeauftragte, modul.lehrende, modul.creditpoint, modul.sws, turnus]  
    end
end

现在我需要为第一列和第二列设置宽度。我怎样才能做到这一点?

最佳答案

具有 column_widths 功能。

Here你可以看到功能

here你可以看到文档

代码有点像

...
wb.add_worksheet(name: "Export") do |sheet|
    ...
    sheet.add_row [ ...... ]
    sheet.add_row [ ...... ]
    ...
    sheet.column_widths 7.2, nil, 3
end
...

编辑:@asdlfkjlkj 的优点:添加数据后必须调用 column_widths,否则将无法成功设置宽度

关于ruby-on-rails - 如何设置工作簿的列宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41568374/

相关文章:

excel - 将 INDEX/MATCH 与多个条件和多个匹配连接起来

ruby-on-rails - 如何在 Rails 中验证时间?限制用户每天发帖一次

ruby-on-rails - 使用 Devise 时如何在注册后重定向用户?

ruby - 解析markdown缩进代码块

c# - Excel Interop 和 CSV 文件的日期转换问题

vba - 在 VBA 中转置范围

ruby-on-rails - macOS 10.12 Sierra 上的 bundle 错误

ruby-on-rails - SQLite3::BusyException:数据库被锁定:INSERT INTO

ruby - 解析有效的 JSON 抛出错误

ruby - 系统更新后更新所有 RVM ruby 和 gem 的最佳方法?