首页 文章

使用libreoffice在rails4中使用Excel转换为pdf

提问于
浏览
-1

在rails 4应用程序中,如何将excel电子表格文件转换为pdf .

当我尝试将Excel实现为pdf时,如果excel列大小很大,则会在不同的页面中列出内容 .

如何生成pdf而不将数据移动到pdf中的下一页 .

请帮忙,谢谢

1 回答

  • 0

    所以你基本上有两个选项可以自己实现并使用CSV gem /库(default CSVfaster CSVsmarter CSV),假设通过"excel"可以接受CSV . 如果CSV不可加,则可以使用axlsx gem . 然后,对于pdf转换,您可以使用类似prawn的内容 . 如果您决定自己构建它,请按照以下步骤操作 .

    • 创建一个处理Reports的控制器,我建议使用 rails g controller report upload generate_table show generate_pdf 生成器创建一个控制器和一个上传过程的视图

    • 在上传视图中创建文件上传表单 .

    • 在提交时,您将使用CSV或excel gems之一将文件发送到生成操作处理

    • 处理完毕后,您的最终产品应该是数组或散列(作为实例变量),您可以将其发送到show动作

    • 在show视图中,您将迭代该哈希/数组并将内容封装在html表中 .

    • 在show视图中你应该有一个按钮,它将相同的散列/数组发送到 generate_pdf 控制器动作,你将使用 prawn 创建一个pdf,你可以使用类似send_data之类的东西将完成的pdf文件发送给用户 .

    这大致是你可以减少低级细节的方法 . 现在,如果你想使用开箱即用的解决方案,你可以使用像Ruport这样的东西 . Ruport将为您处理大部分繁重的工作,您唯一需要设置的模型和关联以按照设计的方式使用它,这可能不是您的选择 .

相关问题