【发布时间】:2014-10-02 22:25:38
【问题描述】:
我的网络应用程序输出预制 Excel 97 电子表格(这些是在 Excel 中制作的,因此没有问题)和 Rails 生成的模板的混合。后者是我们的用户在需要 Excel 数据电子表格时下载的内容:
<?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">
<Worksheet ss:Name="Sheet1">
etc
下载由这些xls.erb 模板制作的工作表没有问题。也不是使用电子表格 gem 解析预制模板。但是,将 Rails 生成的表格重新上传到控制器操作,然后尝试使用电子表格 gem 来解析它们是一个问题:
Ole::Storage::FormatError in FoosController#update_foos
OLE2 signature is invalid
其他人过去曾遇到过这个问题,因为他们试图用电子表格解析 XLSX 文件;该类型与 gem 不兼容。我的问题似乎是我需要从 Ruby 模板生成 Excel 2004 文件,但我当前的格式似乎输出的 XML 只是文件扩展名错误命名。
是否可以生成 2004 Excel 电子表格,或解析我已经生成的 Excel 文件,不使用 gem?对于我正在尝试做的事情,是否有更简单的解决方案,即根据我的 Rails 数据输出 Excel 电子表格,可以重新上传到系统并由电子表格解析?
再次,我试图避免 gems,但如果有一个 gem 解决方案可以读取 xml-erb 模板或读写 2004 兼容的 xls 文件,我会全力以赴。
【问题讨论】:
标签: ruby-on-rails ruby excel