Rails宝石“Axlsx”/“Rails-Axlsx” - 添加图像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rails宝石“Axlsx”/“Rails-Axlsx” - 添加图像相关的知识,希望对你有一定的参考价值。

我尝试将一个图像添加到我的工作簿/工作表中。

代码 :

    wb.add_worksheet(:name => "Doc1", :page_setup => setup, :print_options => options) do |sheet|

        img = File.expand_path('../logo.jpg', __FILE__)
        sheet.add_image(:image_src => img, :noMove => true) do |image|
            image.width = 7
            image.height = 6
            image.start_at 2, 2
        end

    ...

    end

但是,如果我打开文档,工作表上没有图像,我该如何解决这个问题呢?

如何正确的图像路径?对于此测试,我将jpg复制到我的视图文件夹中,但通常是"app/assets/images/logo.jpg"中的所有图像。我尝试用img = File.expand_path('../assets/images/logo.jpg', __FILE__),但它失败了“找不到文件!”

答案

https://pramodbshinde.wordpress.com/2013/12/29/design-spreadsheets-using-axlsx-in-rails/上的示例显示以下代码行

img = File.expand_path(Rails.root+'app/assets/images/result.png')
另一答案

这是另一种可以实现此目的的方法:

码:

img = File.open(Dir.glob("#{Rails.root}/app/assets/images/result.png, "r")
另一答案

在您设置图像宽度和高度的行中,它们非常小,您可以忽略图像,因为此数字以像素为单位。尝试将它们设置为更高的数字。

以下为我工作:

img = File.expand_path(Rails.root+'app/assets/images/result.png')
        sheet.add_image(:image_src => img, :noMove => true) do |image|
            image.width = 100
            image.height = 150
            image.start_at 2, 2
        end

以上是关于Rails宝石“Axlsx”/“Rails-Axlsx” - 添加图像的主要内容,如果未能解决你的问题,请参考以下文章

导出csv文件,导出axlsx文件。gem 'Axlsx-Rails' (470🌟)

ruby rails3创建自己的红宝石宝石

ruby excel 导入和导出

如何在 Rails 6 中使用茧宝石

Rails 3:社交流宝石。代码在哪里?

Rails排序宝石