qq_41973024 2024-09-21 10:04 采纳率: 0%
浏览 14

.net mvc中使用EPPlus操作excel保存失败

.net mvc中使用EPPlus操作excel,如果文件不存在则创建文件添加一个sheet保存,但是报保存失败,如果先创建好文件就没问题,奇怪的是放winform里面就没这个问题


             try
            {
                char driveLetter = 'E'; // 要检查的盘符
                DriveInfo drive = new DriveInfo(driveLetter + ":");
                //盘符存在
                if (drive.IsReady)
                {
                    string folderPath = @"E:\数据保存\" + DateTime.Now.ToString("yyyyMM"); // 指定文件夹路径
                    // 检查文件夹是否已存在,如果不存在则创建
                    if (!Directory.Exists(folderPath))
                    {
                        Directory.CreateDirectory(folderPath);
                    }

                    string fileName = folderPath + "\\" + DateTime.Now.ToString("yyyyMMdd") + ".xlsx";
                    if (!File.Exists(fileName))
                    {
                        // 新建 Excel 文件
                        File.Create(fileName);
                    }              
                        FileInfo fileInfo = new FileInfo(fileName);
                    // 添加认证,必填
                    ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
                    using (ExcelPackage excelPackage = new ExcelPackage(fileInfo))
                    {
                        ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets.Add("sheet1");                        
                        excelPackage.SaveAs(fileInfo);
                       }                   
                }

            }
            catch (Exception e)
            {

                throw e;
            }

img

  • 写回答

1条回答 默认 最新

  • 一轮明月照丘壑 2024-09-21 10:05
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    这个问题看起来是由于在尝试保存Excel文件时发生了冲突或权限问题导致的。根据你提供的代码和错误信息,以下是一些可能的原因和解决方案:

    1. 文件访问权限问题:确保应用程序有足够的权限来写入指定的目录和文件。有时,即使是管理员用户也可能因为特定的权限设置而无法覆盖现有文件。确保你的应用程序有权写入该目录。可以尝试关闭Excel等任何可能打开该文件的程序来排除其他进程的干扰。此外,运行IISReset或在本地机器上以管理员身份运行你的应用程序也是一个有效的解决办法。这可能有助于解决其他进程占用文件导致的问题。
    2. 文件正在被其他进程使用:有时其他应用程序或服务可能会阻止文件被保存,因为文件可能已经被打开或正在被另一个进程使用。确保没有其他程序正在使用这个文件或目录。如果文件已经打开,关闭它并再次尝试保存。如果仍然遇到问题,确保应用程序尝试打开文件的任何位置都已经正确关闭,没有任何潜在的进程使用这个文件。你也可以重新启动应用程序以消除任何潜在的冲突状态。
    3. 文件路径问题:确保文件路径正确无误,并且应用程序具有正确的文件系统权限来访问该文件路径。检查路径中的任何特殊字符或空格,确保它们不会导致问题。同时确认你的应用程序具有正确的文件系统权限来写入该文件路径。这包括检查任何文件夹的权限设置和文件系统访问限制。另外,尝试简化路径名,以避免可能的问题点(例如特殊字符、空格等)。确保文件夹路径不存在时能够正确创建文件夹。这可能需要检查应用程序的配置设置以确保正确的行为。如果问题仍然存在,尝试简化路径名称以排除潜在问题。这些可能的解决方法涉及到的是基于错误信息可能存在的不完全性的推理判断结果,具体的解决方案可能需要进一步的调试和分析来确定问题的根本原因。请尝试上述建议的解决方案,并观察是否解决了问题。如果问题仍然存在,请提供更多关于问题的上下文信息或错误日志的详细信息,以便我们能够更准确地诊断问题并提供进一步的帮助。
    评论

报告相同问题?

问题事件

  • 创建了问题 9月21日

悬赏问题

  • ¥15 VB6可以成功读取的文件,用C#读不了
  • ¥15 如何使用micpyhon解析Modbus RTU返回指定站号的湿度值,并确保正确?
  • ¥15 C++ 句柄后台鼠标拖动如何实现
  • ¥15 有人会SIRIUS 5.8.0这个软件吗
  • ¥30 comsol仿真等离激元
  • ¥15 静电纺丝煅烧后如何得到柔性纤维
  • ¥15 (标签-react native|关键词-镜像源)
  • ¥100 照片生成3D人脸视频
  • ¥15 伪装视频时长问题修改MP4的时长问题,
  • ¥15 JETSON NANO