用axlsx gem

时间:2016-05-25 11:30:13

标签: ruby axlsx

我正在尝试将图像添加到Excel中。我可以在调用方法res_data时发送不同的图像。但执行后我看到最后一张图像会覆盖以前拍摄的所有图像。

这是我的代码。请在红宝石中使用axlsx gem帮助.am

class abc
    @@row=1
    @@f = File.open('result.xlsx', 'w+')
    @@p = Axlsx::Package.new
    @@ws = @@p.workbook.add_worksheet
    @@ws.name="result"

    def res_data(path)  
        @@ws.add_image(:image_src => path, :noSelect => true, :noMove => true) do |image|
          image.width=1366
          image.height=768
          image.start_at 0, @@row
        end

        @@row=@@row+42      
        @@p.serialize(@@f)
    end
end

将方法调用为(使用capybara方法)

要求' axlsx'

obj = abc.new

路径=' C:\测试\ image_file.png'

访问" http://google.com

save_screenshot(path,:full => true)#抓取google主页截图

obj.res_data(路径)

click_button" btnI"

save_screenshot(path,:full => true)#clicks"我感到很幸运"并再次捕获屏幕截图

obj.res_data(路径)

我能够看到' c:\ test \ image_file.png'使用新图像更新文件(调用保存屏幕截图时) 但是当我看到' result_xlsx"文件,它只显示所有图像中的最后一张图像。

0 个答案:

没有答案