我有一个托管rails应用程序的Debian 7服务器。在应用程序中我需要让用户下载一个xls文件,但在下载之前我需要为用户自定义excel。我需要在某些单元格中编辑内容。
我需要编辑的xls文件中包含下拉菜单及其中的链接和公式。除了编辑过的细胞之外的其他所有细胞应该保持不变。
我尝试用Spreadsheet 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'
我相信Spreadsheet是最强大的xls文件工具,可用作rails gem。因此,此问题的解决方案可能涉及使用rails之外的工具。
答案 0 :(得分:0)
Java和Apache POI是解决方案。
使用一个类和一些方法,我可以读取现有的xls文件,进行修改并将文件写回磁盘,以便将其发送给用户。