-2

我有一个 ruby​​ 程序,可以从网站上下载一组 Microsoft excel cvs 文件。然后我想告诉 ruby​​ 运行 VBA 脚本或程序,我不确定正确的术语是什么,它将所有 cvs 文件组合和操作到一个 excel 工作簿中。

我已经查看了 ruby​​ API,但我不知道我应该寻找什么。

谢谢,

4

1 回答 1

2

不要为此使用vba。您可以在 Ruby 中使用 vba,如下面的示例所示,但是有一些 Ruby gem 可以更轻松、更好地完成您想要的所有工作,例如看看Roo gem。由于它是 csv,因此您可以加入文件并将其保存为一个大的 csv 文件。Excel 打开连接的 csv 将毫无问题。除非您需要管理数据,否则您甚至不需要 csv gem(包含在核心库中)。

require 'win32ole'

excel = WIN32OLE.new('Excel.Application')
excel.visible = true
workbook = excel.Workbooks.Add();
worksheet = workbook.Worksheets(1);
worksheet.Range("A1:D1").value = ["North","South","East","West"];
worksheet.Range("A2:B2").value = [5.2, 10];
worksheet.Range("C2").value = 8;
worksheet.Range("D2").value = 20;

range = worksheet.Range("A1:D2");
range.select
chart = workbook.Charts.Add;

workbook.saved = true;

这是一个使用 Roo 的例子

require 'roo'

w1 = Roo::Spreadsheet.open( "C:/Ruby193/test/roo/2.csv" )
w1.each_with_pagename do |name,sheet|
  puts name, sheet.row(1)
end
于 2013-07-04T20:31:50.683 回答