1

後で Excel ファイルにヘッダーを書き込むために使用する次の配列があります。

fields = ["fileName", "type", "id"]

そして、XML から値を読み取る次のコードがあります。

filename = xml.xpath('//path/filename').text
type = xml.xpath('//path/type').text
id = xml.xpath('//path/id').text

Excel セルを前の手順で抽出した値に設定するために、初期配列 (フィールド) を反復処理します。

row = 2
c = 1
fields.each do |content|
  ws.Cells(row,c).Value = content
  c = c + 1

fieldsヘッド フィールドを再利用できるようにするために、配列の ( ) の内容を文字列ではなく変数名にしようとしています。

誰でもそれを可能にする方法を推奨できますか?

4

1 に答える 1

3

これは、ハッシュを使用してフィールド名を抽出した値に関連付ける必要があるように思えます。

fields = {
  "fileName" => xml.xpath('//path/filename').text,
  "type" => xml.xpath('//path/type').text,
  "id" => xml.xpath('//path/id').text
}

row=2
c=1
fields.each do |key,value|
  ws.Cells(row,c).Value = value
  c=c+1
end
于 2012-05-15T16:24:44.470 に答える