就我目前查到的有三種方法,OLE, .net, excel.dll,後面兩種因爲要下dll沒有試過,就搬運下第一種
代碼很簡單
-- Startup Ops
-- Generate a filename
--這裏是excel文件的絕對路徑
excelFile = "**.xlsx"
-- Start an Excel OLE Object
x = CreateOLEObject "Excel.Application"
-- Create a new workbook in the new excel document
x.application.Workbooks.open(excelFile)
-- This makes Excel Visible
-- true的話腳本運行時看到打開excel
x.visible = false
--示例 獲取表中1,1位置的數據
pictureNum = (int)(x.ActiveSheet.Cells 1 1).Value
--示例 改變表中3, 1位置的數據
x.ActiveSheet.Cells(3, 1).Value = "Hello"
--之後是釋放操作,如果未執行會導致excel文件一直被佔用,只能以只讀被打開
-- Cleanup Ops
-- Close the spreadsheet
x.application.ActiveWorkbook.Close
-- quit excel
x.quit()
-- Release the OLE Object
releaseOLEObject x
-- Release ALL OLE Objects, just in case
releaseAllOLEObjects()
表位置就從1開始,不是數組的0,還有獲取的數據因excel單元格格式不同有所差別需要注意,注意轉型
還有以單元格名稱獲取等更多的操作,可以去參考鏈接裏找其他函數
參考鏈接:
1.問題的直接答案,但是代碼有點錯誤,修改見鏈接網頁下的評論
3.有一些其他用法
2.Office VBA參考中的excel部分