Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.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# 获得;无法访问文件异常_C# - Fatal编程技术网

C# 获得;无法访问文件异常

C# 获得;无法访问文件异常,c#,C#,我得到以下例外。 “COMException未处理” “无法访问文件\u name.xls” 很可能您没有对GetCurrentDirectory()返回的任何内容的写入权限。您确定使用了两个IF块中的一个吗?否则_csvFilePath的值是多少?根据您的代码,我可以找到引发错误的原因,该错误的文件名为“file_name.xls”@Steve:说得好。我会添加否则抛出新异常(“无法设置文件名”)或类似。以前,我使用的是.csv文件,代码运行良好。而且,每次代码中使用两个IF块中的一个,但当我

我得到以下例外。 “COMException未处理” “无法访问文件\u name.xls”


很可能您没有对GetCurrentDirectory()返回的任何内容的写入权限。您确定使用了两个IF块中的一个吗?否则_csvFilePath的值是多少?根据您的代码,我可以找到引发错误的原因,该错误的文件名为“file_name.xls”@Steve:说得好。我会添加
否则抛出新异常(“无法设置文件名”)或类似。以前,我使用的是.csv文件,代码运行良好。而且,每次代码中使用两个IF块中的一个,但当我将代码从.csv更改为.xls时,这就是一个例外。我还尝试了硬编码的文件路径,它正在工作。很可能您没有对GetCurrentDirectory()返回的任何内容的写入权限。您确定使用了两个IF块中的一个吗?否则_csvFilePath的值是多少?根据您的代码,我可以找到引发错误的原因,该错误的文件名为“file_name.xls”@Steve:说得好。我会添加
否则抛出新异常(“无法设置文件名”)或类似。以前,我使用的是.csv文件,代码运行良好。而且,每次代码中使用两个IF块中的一个,但当我将代码从.csv更改为.xls时,这就是一个例外。我还尝试了硬编码的文件路径,它正在工作。
string currentDir=Directory.GetCurrentDirectory();

if (defaultButtonClicked)
{

_csvFilePath = Path.Combine(currentDir, "File Name_" + DateTime.Now.AddDays(-1).ToString("MM-dd-yyyy") + ".xls");
                    defaultButtonClicked = false;

}

else if (dateSpecificSearchButtonClicked)

               {
                    var dateTemp = calChoosedate.Value.ToString("MM-dd-yyyy");
                    _csvFilePath = Path.Combine(currentDir, "File Name_" + dateTemp + ".xls");
                    dateSpecificSearchButtonClicked = false;
                }


workBook.SaveAs(_csvFilePath, Excel.XlFileFormat.xlOpenXMLWorkbook, Type.Missing, Type.Missing, true, false, Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

                workBook.Close(true, misValue, misValue);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(application)