2017-11-30 11 views
5

私のデータベースのコンテンツをxls形式で書き出すレールアプリケーションがあります。同じ行に2つのインデックスがあります

私は同じ行に入れないで2つの別々のテーブルを作成しようとしています。とにかく同じ行に2つのインデックスがあるのですか?

<?xml version="1.0"?> 
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" 
    xmlns:o="urn:schemas-microsoft-com:office:office" 
    xmlns:x="urn:schemas-microsoft-com:office:excel" 
    xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" 
    xmlns:html="http://www.w3.org/TR/REC-html40"> 
<ss:Worksheet ss:Name="Sheet"> 
    <Table> 
    <% @data.each do |data| %> 
     <Row ss:Index="1"> 
      <Cell ss:Index="1"><Data ss:Type="String"><%= data.name %></Data></Cell> 
     </Row> 
    <% end %> 
    <% @moreData.each do |moreData| %> 
     <Row ss:Index="1"> 
      <Cell ss:Index="2"><Data ss:Type="String"><%= moreData.name %></Data></Cell> 
     </Row> 
    <% end %> 
    </Table> 
</ss:Worksheet> 
</Workbook> 

これは私が上記のコードを持っているものです。

enter image description here

そして、これは私が可能であれば同じ行に両方のループをかけずに実現しようとしているものです:

enter image description here

+0

わかりません。同じ行に両方のアイテムが必要なように見えますが、同じ行にそれらのアイテムを入れたくないと言います。 Excelで手動で編集するときにスプレッドシートで実際にできることですか? – Phil

答えて

3

おそらくデータに.zipを使用しますか?

ex。

<Row ss:Index="1"> 
    <% @data.zip(@moreData).each do |d, md| %> 
     <Cell ss:Index="1"><Data ss:Type="String"><%= d.name %></Data></Cell> 
     <Cell ss:Index="2"><Data ss:Type="String"><%= md.name %></Data></Cell> 
    <% end %> 
</Row> 
関連する問題