我正在尝试执行输出信息到文本文件的Julia代码。我需要为不了解Julia的用户提供准确的答案。我能否构建一个运行在我的计算机上的Excel宏来运行.Jl文件?
提前感谢您。
曾经有一款商业 Julia Excel 插件叫做 JuliaInXL,但很可能已经停止更新。
你可以使用 Julia 编程来对 Excel 进行编程操作。
using XLSX
using Dates
XLSX.openxlsx("smyample.xlsx", mode="w") do xf
sheet = xf[1]
XLSX.rename!(sheet, "NewSheetName")
sheet["A1"] = "Data generated on:"
sheet["B1"] = Dates.now()
dat = rand(4, 5)
for i in 1:size(dat,1), j in 1:size(dat,2)
XLSX.setdata!(sheet, XLSX.CellRef(2+i, j), dat[i,j])
end
end
julia> wb = XLSX.readxlsx("mysample.xlsx")
XLSXFile("sample2.xlsx") containing 1 Worksheet
sheetname size range
-------------------------------------------------
NewSheetName 6x5 A1:E6
让我们获取前两列:
julia> XLSX.getcellrange(ws, ws.dimension)[:,1:2]
6×2 Array{XLSX.AbstractCell,2}:
Cell(A1, "s", "", "0", "") Cell(B1, "", "1", "43995.77937614583", "")
EmptyCell(A2) EmptyCell(B2)
Cell(A3, "", "", "0.7723129181734945", "") Cell(B3, "", "", "0.9539233196840988", "")
...
一个 Cell
对象有一个 value
字段,因此您可以进一步处理它。
您也可以直接请求任何单元格:
julia> ws["A1"], ws["B1"]
("Data generated on:", DateTime("2020-06-13T18:42:18"))
通过这种方式,可以执行运行中的Excel电子表格上的任何操作 - 你只是让MS Excel机械自动化。
using Conda
Conda.add("pywin32")
using PyCall
pw = pyimport("win32com")
pwc = pyimport("win32com.client")
import win32com.client
xlApp = pwc.Dispatch("Excel.Application")
xlApp.Visible=1
workBook = xlApp.Workbooks.Open("C:\\temp\\MyTest.xlsx")
workBook.ActiveSheet.Cells(1, 1).Value = "hello world"
workBook.Close(SaveChanges=1)
xlApp.Quit()