我的目标是读取excel文件列并将其写入另一个新文件。 到现在为止,我已经能够创建具有指定列的新文件。我能够基于行和列索引读取Excel文件。但是我的目标是不同的。 我必须从excel文件中选择特定的列,然后将所有数据写入同一列下的另一个文件。 我该如何实现。
require 'spreadsheet'
#Step 1 : create an excel sheet
book = Spreadsheet::Workbook.new
sheet = book.create_worksheet
sheet.row(0).concat %w[id column_1 column_2 column_3]
book.write 'Data/write_excel.xls'
#step 2 : read the data excel file
book1 = Spreadsheet.open('Data/read_excel.xls')
sheet1 = book1.worksheet('')
val = sheet1[0, 1]
puts val
答案 0 :(得分:0)
这是一个选项,在知道源列号和目标列号之前:
# Step 3 copy the columns
col_num = 3 #=> the destination column
row_num = 1 #=> to skip the headers and start from the second row
sheet1.each row_num do |row|
sheet[row_num, col_num] = row[0] # row[1] the number represents the column to copy from the source file
row_num += 1
end
然后保存文件:book.write 'filename'