首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RubyXL导出数组到xlsx文件

RubyXL导出数组到xlsx文件
EN

Stack Overflow用户
提问于 2022-08-10 09:18:01
回答 2查看 85关注 0票数 0

我有一个数据数组,我想要导出到xlsx文件。数组大小取决于输入数据,因此数组大小将发生变化,使用add_cell是有问题的。是否有任何方法向工作簿中添加数据行?

EN

回答 2

Stack Overflow用户

发布于 2022-08-10 10:32:02

我做了这样的事

代码语言:javascript
复制
require 'rubyXL'

new_array = [["some", "data", "here"], ["another", "data", "here"]]

workbook = RubyXL:workbook.new
worksheet = workbook[0]

new_array.each_with_index do |x, index|
   col = *(0..(x.size - 1))
   col.each do |i|
     worksheet.add_cell(index, i, "#{x[i]}")
   end
end

workbook.write("/path/to/file/file.xlsx")

我希望它能帮助有类似问题的人。

票数 0
EN

Stack Overflow用户

发布于 2022-08-10 10:45:28

基于你的自我回答:我认为你通过使用神秘的变量名(new_arrayxindexcoli)使自己的生活更加艰难。我不得不多次重读你的代码,才能理解它,这绝不是一个好兆头。

在这里,我用更清晰的变量名称重写了它,正如您所看到的,逻辑实际上也可以简化一点!(当变量名都很神秘时,这一点就不那么明显了。)

代码语言:javascript
复制
require 'rubyXL'

spreadsheet_data = [["some", "data", "here"], ["another", "data", "here"]]

workbook = RubyXL:workbook.new
worksheet = workbook[0]

spreadsheet_data.each_with_index do |spreadsheet_row, row_number|
   spreadsheet_row.each_with_index do |spreadsheet_value, column_number|
     worksheet.add_cell(row_number, column_number, spreadsheet_value)
   end
end

workbook.write("/path/to/file/file.xlsx")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73303701

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档