如何在VB.NET中使用Excel函数?

问题描述 投票:0回答:2

我实际上正在尝试使用 Gamma_Inv 函数,但为了最大限度地减少大量变量的复杂性,我将使用 pi 函数,因为它更简单地说明了我的问题。

我的代码是:

Imports Microsoft.Office.Interop.Excel

Public Class LoadData

    Shared Sub Main(ByVal cmdArgs() As String)
    
        Dim fred As WorksheetFunction
    
        MsgBox(fred.Pi)

    End Sub

End Class

我收到的错误是:

变量“fred”在赋值之前使用。

这是有道理的,但是我应该将其设置为什么呢?

它不让我使用:

MsgBox(WorksheetFunction.Pi)

我猜它想让我打开电子表格,但我只想使用该函数,而不是 Excel 本身。

.net excel vb.net worksheet-function
2个回答
4
投票

是的,不幸的是,您需要一个正在运行的 Excel 应用程序才能使用工作表函数。

    Dim app = New Microsoft.Office.Interop.Excel.Application
    Dim wf = app.WorksheetFunction

    MsgBox(wf.Pi)
    MsgBox(app.Evaluate("PI()"))

    app.Visible = True ' optional
    app.Quit()         ' don't forget to close it when done !

Evaluate
方法有点慢,但可以计算几乎所有可在 Excel 公式或地址栏中使用的内容。


1
投票

您需要申报申请:

Dim value As New Application

然后就可以使用其中的功能了:

MsgBox(value.WorksheetFunction.Pi)
© www.soinside.com 2019 - 2024. All rights reserved.