【问题标题】:how to reference a cell programmatically in a loop with axlsx如何使用 axlsx 在循环中以编程方式引用单元格
【发布时间】:2013-05-23 18:03:14
【问题描述】:

我想以编程方式将行添加到我的工作表中,这些行引用同一行中的其他单元格。我已经这样做了:

require 'axlsx'

Axlsx::Package.new do |p|
  p.workbook.add_worksheet(name: 'Foo') do |sheet|
    sheet.add_row(['i', 'i*2'])
    for i in 1..10 do
      sheet.add_row([i, "=A#{i+1} * 2"])
    end
  end
  p.serialize('test.xlsx')
end

有没有更好的方法来做到这一点,而不涉及跟踪我在哪一行?

【问题讨论】:

  • 您正在向工作表中添加行。要在AXLSX 中插入工作表,您无需指定任何索引。 sheet.add_row([array of values]) 就是你正在使用的所有东西。我看不到这里跟踪的“行”在哪里。你能解释一下吗?
  • 查看生成的电子表格。我有一列的数字为 1 到 10,另一列填充了公式以将第一列中的数字乘以 2。我正在寻找一种更好的方法来生成第二列中的单元格引用(A2、A3、 A4, ...)。

标签: ruby axlsx


【解决方案1】:

您不需要跟踪这些任务的每一行。其中许多都有 excel 函数,可以在 Internet 上轻松找到。

在你的具体情况下,你可以使用这个:

sheet.add_row([i,"=A:A * 2"])  # No need to iterate over the rows.

这里,A:A 表示“使用单元格 A1、A2、A3、A4 .....”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-23
    • 2022-01-04
    • 2010-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多