Как добавить столбец в существующую строку с Axlsx Gem?

Я пытаюсь отформатировать мой файл xlsx, но я столкнулся с некоторыми проблемами. Например, мне нужно добавить столбец в существующую строку. Например вот мой код:

wb.add_worksheet(name: "Sums") do |sheet|
    sheet.add_row ["1.", "Rodiklis"], :style=>[title]
    sheet.add_row ["1.1", "Rekomendacijų vertė"]
    @departaments.each do |departament|
        sheet.add_row ["", departament.name]
    end


    @all_items.each do |summary|
      tyfcb = 0
      rgi = 0
      rgo = 0
      rgirgo = 0
      total = 0
      rgirgo_per_user = 0
      meeting_1_2_1 = 0
      meeting_1_2_1_per_user = 0
      ceu = 0
      ceu_per_user = 0
      v = 0
      v_per_user = 0
      summary.departament.contacts.each do |c|
        items = c.items.where(summary_id: summary)
        tyfcb += c.item_x(items, 'tyfcb')
        rgi += c.item_x(items, 'rgi')
        rgo += c.item_x(items, 'rgo')
        meeting_1_2_1 += c.item_x(items, '1_2_1')
        total += 1
        ceu += c.item_x(items, 'ceu')
        v += c.item_x(items, 'v')
      end
        rgirgo = rgi + rgo
        rgirgo_per_user = rgirgo.to_f / total.to_f
        meeting_1_2_1_per_user = meeting_1_2_1.to_f / total.to_f
        ceu_per_user = ceu.to_f / total.to_f
        v_per_user = v.to_f / total.to_f
      sheet.add_row [summary.departament.name,summary.id, tyfcb]
      sheet.add_row [summary.departament.name,summary.id, rgirgo]
      sheet.add_row [summary.departament.name,summary.id, sprintf('%.2f', rgirgo_per_user)]
      sheet.add_row [summary.departament.name,summary.id, meeting_1_2_1]
      sheet.add_row [summary.departament.name,summary.id, sprintf('%.2f', meeting_1_2_1_per_user)]
      sheet.add_row [summary.departament.name,summary.id, ceu]
      sheet.add_row [summary.departament.name,summary.id, sprintf('%.2f', ceu_per_user)]
      sheet.add_row [summary.departament.name, summary.id, v]
      sheet.add_row [summary.departament.name,summary.id, sprintf('%.2f', v_per_user)]
    end
end

Итак, из кода видно, что я генерирую множество переменных tyfcb, ceu и т. Д. Все они напечатаны в новом ряду. Я хочу напечатать все переменные tyfcb в одной строке, все переменные ceu в одной строке и т. Д. Как мне поступить с гемом axlsx? Спасибо за ответы.

2 ответа

Используйте add_cell

add_cell(value = '', options = {}) ⇒ Cell

Это добавляет одну ячейку в строку на основе предоставленных данных и обновляет данные автозаполнения рабочего листа.

http://www.rubydoc.info/github/randym/axlsx/Axlsx/Row

Просто добавьте пустую "" в первую ячейку строки или туда, где вы хотите пустой столбец.

Другие вопросы по тегам