Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.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#NET中打开xlsx文件?_C#_Excel_Import From Excel - Fatal编程技术网

如何在C#NET中打开xlsx文件?

如何在C#NET中打开xlsx文件?,c#,excel,import-from-excel,C#,Excel,Import From Excel,我想在C#.NET中打开xlsx文件,但它显示错误 但如果文件是xls扩展名,那么我可以轻松地打开它,但当文件格式为xlsx时,则显示错误 我的代码是 oXL.Workbooks.Open(Path, 0, false, 5, "", "", false, //Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0) 例外情况是: Excel无法打

我想在C#.NET中打开xlsx文件,但它显示错误

但如果文件是xls扩展名,那么我可以轻松地打开它,但当文件格式为xlsx时,则显示错误

我的代码是

oXL.Workbooks.Open(Path, 0, false, 5, "", "", false,
               //Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0)
例外情况是:

Excel无法打开文件“新建Microsoft Excel工作表.xlsx” 因为文件格式或文件扩展名无效。核实 文件未损坏,且文件扩展名匹配 文件的格式


工作簿。如果计算机中的Excel版本无法读取
xlsx
文件(例如Excel 2003),则打开
将失败

如果您实际上不需要Office互操作(因此,如果您只需要读取和写入文件,而不需要使用Excel功能),那么您应该在上查看Office Open XML SDK(针对.Net 4.5的v2.5和针对.Net 3.5的v2.0)

然后,您可以像这样打开excel文件:

SpreadsheetDocument ExcelDocument = SpreadsheetDocument.Open(FileName, false); 
并执行读写操作

要明确的是:
Office Open XML SDK允许对Excel(和其他Office XML)文件进行读写操作,但如果您要求MS Excel执行计算或宏,则这将无法解决您的问题。

能否指定“显示错误”请?我可以推荐以下XLSX库:您有Microsoft.Office.Interop版本问题。检查您的版本是否支持XLSX。此外,Microsoft.Office.Interop要求安装MS Office。。。您使用的是哪个版本的MS Office?您可以在运行程序的Excel中打开XLSX文件吗?请确保您可以在Excel中正常打开该文件而不会出现任何错误。互操作代码不能打开损坏的文件。您可以直接使用Excel打开同一个文件吗?它是一个合适的
xlsx
文件还是一个伪装成
xlsx
的csv或html文件?@VojtěchDohnal SDK可以同时做这两件事。这并不能回答OP的问题。如果文件损坏,SDK将无法打开它。OP说他可以打开.xls文件,但不能打开.xlsx文件,因此从他提供的信息来看,我认为这是一个版本不兼容的问题,他正在用自己的代码自动处理MS Excel产品版本。你应该在答案中注明。另一方面,损坏的文件也同样可能。@VojtěchDohnal计算与OP的问题无关。问题是OP根本无法打开该文件。可能的原因是:文件损坏、伪造文件或Excel版本错误