Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.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# 使用Syncfusion.XlsIO将.xlsx文件转换为.csv-空引用异常_C#_Excel_.net Core_Syncfusion - Fatal编程技术网

C# 使用Syncfusion.XlsIO将.xlsx文件转换为.csv-空引用异常

C# 使用Syncfusion.XlsIO将.xlsx文件转换为.csv-空引用异常,c#,excel,.net-core,syncfusion,C#,Excel,.net Core,Syncfusion,我在blob存储中有一个.xslx格式的文件,我正在尝试使用Syncfusion.XlsIO Nuget包将其转换为.csv格式 我尝试了以下方法: private async Task ConvertExcelToCsv() { var fileName = await _fileStore.GetContainerFileAsync(AppSettingsConstants.FileNames.Container, "myf

我在blob存储中有一个.xslx格式的文件,我正在尝试使用Syncfusion.XlsIO Nuget包将其转换为.csv格式

我尝试了以下方法:


        private async Task ConvertExcelToCsv()
        {
            var fileName = await _fileStore.GetContainerFileAsync(AppSettingsConstants.FileNames.Container, "myfile.xlsx");

            using (ExcelEngine excelEngine = new ExcelEngine())
            {
                var application = excelEngine.Excel;
                var workbook = application.Workbooks.Open(fileName.Name);
                var worksheet = workbook.Worksheets[1];
                worksheet.SaveAs("myfile.csv", ",");
            }
        }
调试时,文件名被成功检索,但应用程序在
上使用(ExcelEngine ExcelEngine=new ExcelEngine())
中断,并出现NullReferenceException错误


我哪里出了问题?

这里定义了您可以使用的方法: 很可能,您不仅需要从NuGet安装
Syncfusion.XlsIO.WinForms
,还需要从
System.Drawing.Common
System.Security.Permissions
安装

这一准则起了作用:

            try
            {

                //Initialize ExcelEngine
                using (ExcelEngine excelEngine = new ExcelEngine())
                {
                    //Initialize Application
                    IApplication application = excelEngine.Excel;

                    //Set default version for application
                    application.DefaultVersion = ExcelVersion.Excel2013;

                    //Open a workbook to be export as CSV
                    IWorkbook workbook = application.Workbooks.Open(@"E:\Users\Public\Documents\" + "ExcelFile.xlsx");

                    //Accessing first worksheet in the workbook
                    IWorksheet worksheet = workbook.Worksheets[0];

                    //Save the workbook to csv format
                    worksheet.SaveAs("Output.csv", ",");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
                throw;
            }

确保您具有访问Excel文件的权限。通常,如果您使用保存在另一个驱动器上而不是安装Windows的驱动器上的文件(例如,e:\,如果Windows在C:\)对其进行测试会有所帮助。

谢谢,原来我缺少对
系统的参考。绘图
nuget

显示完整的堆栈跟踪。