Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法从Excel文件-Office.Interop.Excel加载工作簿_C#_.net_Excel_Office Interop - Fatal编程技术网

C# 无法从Excel文件-Office.Interop.Excel加载工作簿

C# 无法从Excel文件-Office.Interop.Excel加载工作簿,c#,.net,excel,office-interop,C#,.net,Excel,Office Interop,我正在使用Office Interop for Excel版本15.0.0.0 没有从现有文件创建工作簿的选项。旧示例代码使用以下方法创建工作簿 Workbook workbook = new Workbook(); workbook.LoadFromFile(@"D:\MyExcel\SurfaceSample.xls"); 此方法-->LoadFromFile已从当前库中删除,而且open方法是一个委托。我查阅了文档,但找不到相关方法。Office对象模型的工作原理与.NET Framew

我正在使用Office Interop for Excel版本
15.0.0.0

没有从现有文件创建工作簿的选项。旧示例代码使用以下方法创建工作簿

Workbook workbook = new Workbook();
workbook.LoadFromFile(@"D:\MyExcel\SurfaceSample.xls");

此方法-->
LoadFromFile
已从当前库中删除,而且
open
方法是一个委托。我查阅了文档,但找不到相关方法。

Office对象模型的工作原理与.NET Framework的不同。首先,除了
应用程序
之外,决不能将
New
关键字用于任何东西

为了从现有文件创建新对象(副本),Office应用程序提供了
Add
方法。更像是:

Workbook wb = xlApp.Workbooks.Add(filePathToTemplate);

Office对象模型的工作原理与.NET Framework的不同。首先,除了
应用程序
之外,决不能将
New
关键字用于任何东西

为了从现有文件创建新对象(副本),Office应用程序提供了
Add
方法。更像是:

Workbook wb = xlApp.Workbooks.Add(filePathToTemplate);

显然,您应该使用Workbooks.Open()。“这是一个委托”是一种奇怪的细节,需要重新编写代码和一条像样的错误消息。@HansPassant我以为
工作簿
是一个类。。但它似乎是一个界面。。。显然,您应该使用Workbooks.Open()。“这是一个委托”是一种奇怪的细节,需要重新编写代码和一条像样的错误消息。@HansPassant我以为
工作簿
是一个类。。但它似乎是一个界面。。。谢谢这个
Microsoft.Office.Interop.Excel.Application myapp=new Microsoft.Office.Interop.Excel.Application()怎么样;打开(@“C:\Test\YourWorkbook.xlsx”)
?@techno是的,此语法正确-
new
可能(仅)用于
应用程序
对象。但是,请注意,如果使用
Open
而不是
Add
,将打开原始文件。应用的任何更改都将更改该文件<代码>添加允许您复制文件,任何更改都不会影响原始文件。谢谢。。。这个
Microsoft.Office.Interop.Excel.Application myapp=new Microsoft.Office.Interop.Excel.Application()怎么样;打开(@“C:\Test\YourWorkbook.xlsx”)
?@techno是的,此语法正确-
new
可能(仅)用于
应用程序
对象。但是,请注意,如果使用
Open
而不是
Add
,将打开原始文件。应用的任何更改都将更改该文件<代码>添加允许您复制文件,任何更改都不会影响原始文件。