我正在尝试使用Spreadsheet gem来解析存储学校课程信息的XLS文件。这些XLS文件是自动生成的,因此我无法更改数据的显示。
课程计划保存为字符列表,破折号表示课程不符合的日期。一个例子是“3--33--”,这意味着类在第3天,第4天和第5天在轮换中遇到。 Excel将这些调度中的一些解析为公式,这意味着我需要从某些单元格中读取公式本身。
问题是,当我尝试使用cell.data从公式单元格中读取数据时,结果是一个类似\r\x00\x1F\x00\x00\x00\x00\x00\xD0\x84\xC0\x1EB\x00\x04
的字符串。我假设这是Ruby尝试将数据打印为ASCII文本。经过一些研究,我了解到Excel以RPN格式存储公式。
简而言之:我不确定如何从Excel电子表格中读取公式(公式本身,而不是公式的计算值)。我无法更改输入的Excel电子表格,并且拥有纯粹的Ruby解决方案会很好,因为我打算在Rails中使用它。
答案 0 :(得分:1)
另一种方法是:
使用xls2csv将其转换为csv:http://linux.die.net/man/1/xls2csv
使用ruby标准库:http://ruby-doc.org/stdlib-1.9.2/libdoc/csv/rdoc/CSV.html
我希望这可以帮到你。