【发布时间】:2012-10-11 09:00:36
【问题描述】:
我按照Railscasts link for CSV export from Rails将我的 html 表(动态生成)导出到 xls 并在我执行 .xls 时下载我的 excel 文档
但是,当我在 iWork Numbers 中打开它时,我收到以下错误:
导入警告 - 这是一个制表符分隔的文档,不是有效的 Excel 文档。数据可能看起来不同。
我在文档中看到了我的表格源代码。
这是我用来生成表格的代码:
<table border ="1">
<tr>enter code here
<th><%= get_column_name "#{@level1}"%></th>
<th><%= get_column_name "#{@level2}"%></th>
<th><%= get_column_name "#{@level3}"%></th>
<th>abcd</th>
</tr>
<% @grp.each do |key, value| %>
<% value.each do |k2, v2|%>
<% v2.each do |k3, v3|%>
<tr>
<td><% if "#{@level1}" == "abcd" && Person.exists?(key.to_i) %><%= "#{Person.find(key.to_i).get_name}" %><% else %><%= "#{key}" %><% end %></td>
<td><% if "#{@level2}" == "abcd" && Person.exists?(k2.to_i) %><%= "#{Person.find(k2.to_i).get_name}" %><% else %><%= "#{k2}" %><% end %></td>
<td><% if "#{@level3}" == "abcd" && Person.exists?(k3.to_i) %><%= "#{Person.find(k3.to_i).get_name}" %><% else %><%= "#{k3}" %><% end %></td>
<td><%= "#{v3.count}" if !v3.nil? %></td>
</tr>
<%end%>
<%end%>
<%end%>
</table>
有人可以告诉我是数字问题还是其他问题。我是学生,买不起excel来看看这个。
最好的,
【问题讨论】:
-
任何代码?你如何写你的 xls 文档?
-
嗨@halfelf,我已经用我的代码更新了描述。
-
我认为这可能只是一个数字问题。但是,您应该考虑制作 CSV 或 TSV,而不是依赖 Excel 的 HTML->电子表格功能,这样您才能真正查看电子表格(以及其他不使用 Excel 的人)。这也很容易做到——
<%= row.join("\t") %>是有效 TSV 行所需的全部内容。 -
您可以查看用于编写和解析 Excel .xls 数据的现有 gem。这是short list。
-
@anipendakur:抱歉耽搁了。我发布了回复以澄清 CSV 并呈现它们。希望对您有所帮助!
标签: ruby-on-rails ruby excel csv railscasts