gpt4 book ai didi

c# - 无法将类型 'object' 隐式转换为 'Microsoft.Office.Interop.Excel.Worksheet'

转载 作者:太空宇宙 更新时间:2023-11-03 22:34:57 26 4
gpt4 key购买 nike

我有以下类(class)。我从另一个程序中移过来创建一个 ClassLibary。

我在有 wb.Worksheeet 的任何地方都收到以下错误消息

无法将类型“对象”隐式转换为“Microsoft.Office.Interop.Excel.Worksheet”。存在显式转换(是否缺少强制转换?)

该类在原始程序中运行。我添加了引用 Inereop.Microsoft.Office.Interop.Excel

using System;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Office.Interop.Excel;
using _Excel = Microsoft.Office.Interop.Excel;

public class Excel
{
string path = "";
_Application excel = new _Excel.Application();
Workbook wb;
Worksheet ws;

public Excel()
{

}

public Excel(string path, int sheet)
{
this.path = path;
wb = excel.Workbooks.Open(path);
ws = wb.Worksheets[sheet];
}

public void Open(string path, int sheet)
{
this.path = path;
wb = excel.Workbooks.Open(path);
ws = wb.Worksheets[sheet];
}

public void CreateNewFile()
{
this.wb = excel.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
this.ws = wb.Worksheets[1];
}

}
}

最佳答案

添加具有以下样式的显式类型转换:

ws = (Microsoft.Office.Interop.Excel.Worksheet)wb.Worksheets[sheet];

对于显式转换,您必须确定目标类型。 In documentation据说 Worksheets-collection 可以同时包含 Charts 和 Worksheet 对象。

关于c# - 无法将类型 'object' 隐式转换为 'Microsoft.Office.Interop.Excel.Worksheet',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55695702/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com