为了账号安全,请及时绑定邮箱和手机立即绑定

无法使用Excel.Application创建实例

无法使用Excel.Application创建实例

C#
四季花海 2021-03-30 13:14:37
我正在创建一个控制台应用程序,该应用程序从Excel文件中随机选择问题和答案。以下是我的代码(一点都不完整)。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using Excel = Microsoft.Office.Interop.Excel;namespace QuizMaker{    class Program    {        static void Main(string[] args)        {            int numCorrectA;            int numTotalQ;            decimal score;            List<string> qArray = new List<string>();            List<string> aArray = new List<string>();            Excel.Application xlApp = new Excel.Application();            Excel.Workbook quizWorkbook = new xlApp.Workbooks.Open("-file location-");            //read random line from excel file for 6 questions            //print out questions            //console.readline() for the answers            //check answers b ycomparing them            //increment ints as needed            //output results        }    }}因此,我是xlApp通过调用Application接口创建的,但是当我xlApp在下面的行中使用时,遇到了“是变量,但像类型一样使用”错误。在查找之后,接口似乎没有创建实例,所以这就是原因。但是,我试图创建另一个类来实现Excel.Application,但这是行不通的。我不知道要创建新的应用程序还需要做什么。
查看完整描述

3 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

在这行上:

Excel.Workbook quizWorkbook =新的xlApp.Workbooks.Open(“-文件位置-”);

删除new关键字,因为这是试图从中创建实例的事情xlApp。就像错误中所说的-您xlApp是变量,而不是必须从中创建对象的类型。

的返回值xlApp.Workbooks.Open("-file location-");将为Microsoft.Office.Interop.Excel.Workbook

一些更多的信息在这里。

有关变量和类型之间差异的信息,请点击此处。变量或多或少是类型的对象。


查看完整回答
反对 回复 2021-04-24
?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

Excel.Application是一个静态库。new从打开工作簿的语句中删除。

顺便说一句,您可能想研究使用EPPlus。这是使用Excel文件的绝佳库。您可以从nuget获取它。


查看完整回答
反对 回复 2021-04-24
?
慕哥6287543

TA贡献1831条经验 获得超10个赞

在行中

Excel.Workbook quizWorkbook = new xlApp.Workbooks.Open("-file location-");

Opennew运算符调用方法。因此,您实际上试图创建new Open()无效的类的实例。你应该用

Excel.Workbook quizWorkbook = xlApp.Workbooks.Open("-file location-");

它甚至可以编译的原因是 C# 对待 com作为动态类型进行接口,在运行时求值,并且编译器不知道编译期间的状态。


查看完整回答
反对 回复 2021-04-24
  • 3 回答
  • 0 关注
  • 490 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信