为了账号安全,请及时绑定邮箱和手机立即绑定

SpreadsheetLight 更新 Excel 文件

SpreadsheetLight 更新 Excel 文件

C#
烙印99 2023-07-22 18:26:30
我想读取 Excel 文件,然后找到正确的行并向该行添加一个值,但我收到一条错误消息文件已被另一个进程使用。我已将文件添加到 FileStream,所以我不确定为什么会收到此错误?System.IO.IOException:“进程无法访问文件 'D:\repos\FHIRVal\Update.xlsx',因为它正在被另一个进程使用。”public static int UpdateExecelFile(string id, string status)    {        string FilePath = "D:\\repos\\FHIRVal\\Update.xlsx";        using (SLDocument sl = new SLDocument())        {            FileStream fs = new FileStream(FilePath, FileMode.Open);            SLDocument sheet = new SLDocument(fs, "Sheet");            SLWorksheetStatistics stats = sheet.GetWorksheetStatistics();            for (int j = 1; j < stats.EndRowIndex; j++)            {                var value = sheet.GetCellValueAsString(j, 2);                if (value == id)                {                    Console.WriteLine(string.Format("{0} --- {1}", "Updating File", id));                    string updateRow = string.Format("{0}{1}", "C",j);                    sl.SetCellValue(updateRow, status);                }            }            sheet.SaveAs(FilePath);            fs.Close();        }
查看完整描述

1 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

我的顺序不正确,我需要在 Sheetsaveas 之前有 fs.close 。



查看完整回答
反对 回复 2023-07-22
  • 1 回答
  • 0 关注
  • 132 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信