两个索引在同一行

时间:2017-11-30 21:09:17

标签: ruby-on-rails xml spreadsheetml

我有一个rails应用程序,它以xls格式从我的数据库中导出内容。

我希望创建两个单独的表而不将它们放在同一行中。反正有两个索引在同一行吗?

<?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

1 个答案:

答案 0 :(得分:3)

也许在数据上使用.zip

离。

<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>