Excel 如何在服务器上编辑xls文件

Excel 如何在服务器上编辑xls文件,excel,Excel,我有一个Debian7服务器,它承载一个rails应用程序。在应用程序中,我需要让用户下载xls文件,但在下载之前,我需要为用户自定义excel。我需要编辑一些单元格中的内容 我需要编辑的xls文件中有下拉菜单、链接和公式。除编辑的单元格外,其他所有内容都应保持原样 我试图用电子表格gem打开xls,编辑其中一个单元格,然后将文件写回磁盘。但是在这个小的编辑之后,文件中的内容被严重地混淆了。看起来整个文件都出现了随机编辑 excel = Spreadsheet.open '/path/to/or

我有一个Debian7服务器,它承载一个rails应用程序。在应用程序中,我需要让用户下载xls文件,但在下载之前,我需要为用户自定义excel。我需要编辑一些单元格中的内容

我需要编辑的xls文件中有下拉菜单、链接和公式。除编辑的单元格外,其他所有内容都应保持原样

我试图用电子表格gem打开xls,编辑其中一个单元格,然后将文件写回磁盘。但是在这个小的编辑之后,文件中的内容被严重地混淆了。看起来整个文件都出现了随机编辑

excel = Spreadsheet.open '/path/to/original.xls'
sheet = excel.worksheet 2
sheet.rows[5][1] = 'New value'
excel.write '/path/to/edited.xls'

我相信电子表格是rails gem中最强大的xls文件工具。因此,这个问题的解决方案可能涉及使用rails之外的工具

Java和Apache POI是解决方案


通过一个类和几个方法,我可以读取现有的xls文件,进行修改并将文件写回磁盘,以便发送给用户。

在ruby中,Excel确实没有太多选项。也许您可以将其转换为xlsx并使用axlsx gemYes,这就是为什么我没有在标记或标题中包含ruby。如果有其他编程语言的好库,我想知道。我可以用axlsx读取现有的xlsx文件吗?嗯。。您不能:。我们只用来写作。我想你会更乐意为此而切换到java。Excel有很多选择,因为创业者总是想要一些Excel报告。在axls之前,我们再次使用JRUBYpoi.apache.org中的excel导出,这看起来很有希望。我需要试一试。