2009-10-14 49 views
2

我打算學習的Lua爲我的桌面腳本需要工作。我想知道是否有任何可用的文檔,以及標準庫中是否有所需的所有東西。使用Lua與Excel

回答

10

你應該檢查出的Lua的Windows - 對於Lua腳本語言中的「電池列入環境」在Windows

http://luaforwindows.luaforge.net/

它包括LuaCOM庫,從中可以訪問Excel COM對象。

嘗試尋找在LuaCOM文件以外,還有一些Excel的例子在於:

http://www.tecgraf.puc-rio.br/~rcerq/luacom/pub/1.3/luacom-htmldoc/

我只用過這個非常簡單的事情。這裏是一個樣本,讓你開始:對LUA與Excel工作

-- test.lua 
require('luacom') 
excel = luacom.CreateObject("Excel.Application") 
excel.Visible = true 
wb = excel.Workbooks:Add() 
ws = wb.Worksheets(1) 

for i=1, 20 do 
    ws.Cells(i,1).Value2 = i 
end 
+0

感謝uroc您的快速反應。如果可能的話,請讓我知道任何初學者教程或通過使用Lua中COM編程ATLEAST一些示例代碼。 :) – Animesh 2009-10-14 12:26:26

4

更復雜的代碼示例:

require "luacom" 

excel = luacom.CreateObject("Excel.Application") 

local book = excel.Workbooks:Add() 
local sheet = book.Worksheets(1) 

excel.Visible = true 

for row=1, 30 do 
    for col=1, 30 do 
    sheet.Cells(row, col).Value2 = math.floor(math.random() * 100) 
    end 
end 


local range = sheet:Range("A1") 

for row=1, 30 do 
    for col=1, 30 do 
    local v = sheet.Cells(row, col).Value2 

    if v > 50 then 
     local cell = range:Offset(row-1, col-1) 

     cell:Select() 
     excel.Selection.Interior.Color = 65535 
    end 
    end 
end 

excel.DisplayAlerts = false 
excel:Quit() 
excel = nil 

又如,可以添加一個曲線示意圖。

require "luacom" 

excel = luacom.CreateObject("Excel.Application") 

local book = excel.Workbooks:Add() 
local sheet = book.Worksheets(1) 

excel.Visible = true 

for row=1, 30 do 
    sheet.Cells(row, 1).Value2 = math.floor(math.random() * 100) 
end 

local chart = excel.Charts:Add() 
chart.ChartType = 4 — xlLine 

local range = sheet:Range("A1:A30") 
chart:SetSourceData(range) 
+2

快速建議:代碼片段會更好看,如果你格式化爲代碼(用小「101 010」按鈕)。 – 2009-10-19 04:17:40