使用c#创建excel文件时出现两个错误(找不到互操作类型,类型或命名空间名称';Office';不存在)

使用c#创建excel文件时出现两个错误(找不到互操作类型,类型或命名空间名称';Office';不存在),c#,excel,C#,Excel,我试图实现下面的教程来创建excel文档 然而,我收到了下面的错误 CS1748:找不到与嵌入互操作匹配的互操作类型 键入“Microsoft.Office.Interop.Excel.Application”。你是不是错过了一场比赛 汇编参考 之后,我尝试将嵌入互操作类型设置为false 这次我收到了以下错误 CS0234:中不存在类型或命名空间名称“Office” 命名空间“Microsoft”(是否缺少程序集引用?) 但是,已经添加了Microsoft.Office.Core参考。如果我

我试图实现下面的教程来创建excel文档

然而,我收到了下面的错误

CS1748:找不到与嵌入互操作匹配的互操作类型 键入“Microsoft.Office.Interop.Excel.Application”。你是不是错过了一场比赛 汇编参考

之后,我尝试将嵌入互操作类型设置为false

这次我收到了以下错误

CS0234:中不存在类型或命名空间名称“Office” 命名空间“Microsoft”(是否缺少程序集引用?)


但是,已经添加了Microsoft.Office.Core参考。

如果我可以给您一些建议,现在您正在使用c#,请尝试使用此库, 它是最新的格式,更易于使用:


如果有帮助,请告诉我,

您是否按照教程中的说明添加了参考?我记得使用了相同的教程,但我认为我添加的内容有不同的名称,基本上我添加了一个东西,上面写着Microsoft和Excel。。(可能不是你提到的那个)

还有一件事他们没有告诉你(因为我想他们当时没有这个问题),那就是用几行代码来修正一些错误。。 在开始创建excel表之前添加此项

System.Globalization.CultureInfo Oldci = System.Threading.Thread.CurrentThread.CurrentCulture;
System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("en-us");
在您完成表格的操作后,请单击这一行

System.Threading.Thread.CurrentThread.CurrentCulture = Oldci;

当我需要创建excel文件时,这节省了我的时间。。我对在线教程有很多问题。

Jorge提出了一个很好的选择。使用OOXML SDK可以生成.xlsx文件而不是.xls文件。但是,如果您愿意使用库,那么我建议OfficeWriter它同时支持.xls和.xlsx文件格式,它是用.NET编写的,因此您可以轻松地在C#中使用它,并使用托管代码,最重要的是,它根本不需要Microsoft Office来生成文件,因此您不必担心计算机上是否有正确的互操作程序集免责声明我是这个产品的开发者之一。