首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SpreadsheetLight更新excel文件

SpreadsheetLight更新excel文件
EN

Stack Overflow用户
提问于 2019-07-29 18:34:52
回答 1查看 1.9K关注 0票数 0

我想读取excel文件,然后找到正确的行并向该行添加一个值,但我得到的是另一个进程使用的错误消息文件。

我已经将文件添加到FileStream中了,所以我不知道为什么会有这个错误?

System.IO.IOException:“进程无法访问文件'D:\repos\FHIRVal\Update.xlsx‘,因为它正在被其他进程使用。”

代码语言:javascript
复制
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();
        }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-29 19:28:39

我的订单不正确,我需要在床单前有fs.close。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57259638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档