在 VB.net 中使用 Excel 无故失败

She*_*mes -1 vb.net excel export-to-excel excel-2010

下面的代码是要导出到excel文件。Visual Studio 发送图片中的错误。这段代码有什么问题?

Imports Microsoft.Office.Interop.Excel
Module Module3
    Public Sub OOO()
        Dim excel As Application = New Application
        Dim workbook As Workbook = New Workbook
        Dim worksheet As Worksheet = workbook.ActiveSheet
        worksheet.Name = "Export as Excel Project"
        worksheet.Cells(1, 1) = "Value1"
        worksheet.Cells(2, 1) = "Value2"
        worksheet.SaveAs("d:\Actor.xls", Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookDefault)
        workbook.Close()
    End Sub
End Module
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Cet*_*soz 5

您的代码从第一行 Dim excel 开始就是错误的。您期望那将是 Excel.Application,但事实并非如此,它是 System.Windows.Application (据我从错误窗口了解)。如果该行正确,则下一行将尝试创建一个不相关的 Workbook 对象。相反尝试:

Sub Main
    Dim xl As Microsoft.Office.Interop.Excel.Application = New Microsoft.Office.Interop.Excel.Application()
    Dim workbook = xl.Workbooks.Add()
    Dim worksheet As Worksheet = CType(workbook.ActiveSheet, Worksheet)
    worksheet.Name = "Export as Excel Project"
    worksheet.Cells(1, 1) = "Value1"
    worksheet.Cells(2, 1) = "Value2"
    worksheet.SaveAs("d:\Actor.xlsx", Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookDefault)
    workbook.Close()
    xl.Quit()
End Sub
Run Code Online (Sandbox Code Playgroud)

请注意,当前版本的 Excel 的文件扩展名是 XLSX,而不是 XLS(实际上很长一段时间以来,如果您碰巧另存为 XLS,Excel 都不会在没有警告的情况下打开它)。