可以从excel宏运行.jl文件吗

可以从excel宏运行.jl文件吗,excel,vba,julia,Excel,Vba,Julia,我试图执行Julia代码,将信息输出到文本文件中。我需要给用户谁不知道准确的答案。我可以构建一个在我的计算机上运行.Jl的excel宏吗 提前感谢,有一个商业Julia Excel插件JuliaInXL,但它很可能已经死了 您可以做的是从Julia以编程方式操作Excel XLSX.jl 编写电子表格 using XLSX using Dates XLSX.openxlsx("smyample.xlsx", mode="w") do xf shee

我试图执行Julia代码,将信息输出到文本文件中。我需要给用户谁不知道准确的答案。我可以构建一个在我的计算机上运行.Jl的excel宏吗


提前感谢,

有一个商业Julia Excel插件JuliaInXL,但它很可能已经死了

您可以做的是从Julia以编程方式操作Excel

XLSX.jl 编写电子表格

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", "")
...
单元格
对象有一个字段
,因此您可以进一步处理它

您也可以简单地要求任何单元格:

julia> ws["A1"], ws["B1"]
("Data generated on:", DateTime("2020-06-13T18:42:18"))
ActiveX automation-这将允许从Julia调用Excel宏 通过这种方式,可以在运行的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()

我知道op正在寻找相反的方法:从Excel宏调用Julian。是的,我在文章开头写道,有一个名为JuliaInXL的Excel插件似乎已经死了。到目前为止,生成电子表格文件和自动化宏是唯一可能的解决办法。