Commit d2f73320 by liyijie

Add record index with key _index

parent 3fee5678
...@@ -81,12 +81,12 @@ module TalltyImportExport ...@@ -81,12 +81,12 @@ module TalltyImportExport
sheet.add_row headers.map{|header| header[:name]}, style: title2, height: 39 sheet.add_row headers.map{|header| header[:name]}, style: title2, height: 39
each_method = records.is_a?(Array) ? :each : :each each_method = records.is_a?(Array) ? :each : :each
records.send(each_method) do |record| records.send(each_method).with_index do |record, index|
row = [] row = []
headers.each{ |header| row.push(handle_data(record, header)) } headers.each{ |header| row.push(handle_data(record, header, index)) }
sheet.add_row row, style: title3, height: @row_height, types: headers.map{|header| header[:format]} sheet.add_row row, style: title3, height: @row_height, types: headers.map{|header| header[:format]}
end end
sheet.column_widths *headers.map{|header| header[:width] || @width} sheet.column_widths(*headers.map{|header| header[:width] || @width})
end end
end end
...@@ -113,9 +113,11 @@ module TalltyImportExport ...@@ -113,9 +113,11 @@ module TalltyImportExport
end end
# 处理一个记录的数据 # 处理一个记录的数据
def handle_data record, header def handle_data record, header, index: 0
data = data =
if header[:method].present? if header[:key] == '_index'
index + 1
elsif header[:method].present?
send(header[:method], record, header) send(header[:method], record, header)
elsif header[:chain].present? elsif header[:chain].present?
header[:chain].reduce(record) do |obj, method| header[:chain].reduce(record) do |obj, method|
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment