Rails Gem “Axlsx” / “Rails-Axlsx” - 添加图片

Rails Gem “Axlsx” / “Rails-Axlsx” - Adding Image

我尝试将一张图片添加到我的 workbook/worksheet。

代码:

    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__),但使用 "No file found!"

失败

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