新手问题 [已解决] rails 如何导入自定义 xls

mapana · 2016年07月22日 · 最后由 mapana 回复于 2018年02月11日 · 5429 次阅读

需求: 有两个功能,1、导出会员数据,2、导入会员数据(需要下载导入的模板,按照模板来填充导入内容)

楼主使用 require 'csv'做了一个导出,文件为 XXX.xls 文件,顺利完成。 下图是楼主使用 xml 定制的导出格式

至于导入 普遍常见格式够能够利用 csv、spreadsheet 等可以解决,但导入上述所导出个格式,总是"OLE2 sginature is invalid",完全没法子 需求能导入 windows 平台常见的 excel,以及上述导出来的文件格式 有什么解决办法吗?

为什么没人回帖,是我描述的不好吗?

生成还可以,导入好像不支持这些格式的吧

不太熟悉 XLSX 格式啊。。。 为什么不直接导出成 CSV 呢?Excel 是可以打开的

去看看 spreadsheet 这个 gem, 我觉得还挺好用的 导出 和 导入操作都不错

Spreadsheet, Roo 和 Axlsx 这三个 gem 可以看看,导入导出统一用 excel 格式

我一般导入用 Roo,导出用 Axlsx

#2 楼 @catherine #3 楼 @jasl #4 楼 @mitchell #5 楼 @zyjloveher #6 楼 @killernova 谢谢大家的回复,因为我知道的 gem 不多,所以不好选,项目其他地方已经使用了 CSV 做导出 就统一这种方式,并且使用 xls.erb 来写格式 但现在这种格式并不方便导入,所以请大家指教一下 有什么 gem 对导出时自定义样式以及 windows 常用 oa 文件导入都能胜任的 1、导出数据,主要用来查看,防止过长的数字导出后变成科学计数法之类的数据 2、导出编写导入数据的一个模板,提供给管理人员根据模板来填写需要导入的数据,保证编写后能正常导入 3、导入数据,根据导出的模板被管理员编写数据完成后的文件来进行导入

Spreadsheet 不支持 xlsx 导入 https://github.com/zdavatz/spreadsheet/issues/77 Spreadsheet 作者推荐用 RubyXL

已经解决,谢谢各位😄

建议,在上面的帖子中,写出你是怎么解决的,既能整理一下,也能帮助别人

@mapana 请问下是如何解决的?谢谢

YZ00 回复

很抱歉,很久没有上论坛了,没能及时回复。

由于当时做的时候时间紧所以没有总结,很遗憾。

我记得是用 axlsx 做的 axlsx + axlsx_rails 的 gem 结合,然后自己在后端导出时自定义标题然后遍历数据组装成一个xlsx

导入时也一样,读取指定字段或者位置的数据进行组装。

希望还能帮助到你!

需要 登录 后方可回复, 如果你还没有账号请 注册新账号