打开 excel 文件进行手动编辑和保存

本文关键字:编辑 保存 excel 文件 打开 | 更新日期: 2023-09-27 18:31:13

似乎大多数关于通过 C# 处理 Excel 文件的问题都围绕着以全自动方式处理。我有一个稍微不同的问题。

代码应该工作的方式。

  1. 启动在给定位置创建.txt文件的批处理,该文件由 sql 查询的结果填充。(已完成和工作)

  2. 在Excel中打开文件(我使用.txt的原因是.csv通过删除前导零等来弄乱我的数字)并使其对用户可见。代码停止工作,其余部分留给用户。

  3. 用户自己对文件进行更改,并手动保存这些更改并退出Excel。

我遇到的问题是该过程不想"单独保留文件"。它正确打开,我编辑值,然后保存它,当我尝试关闭它时,它会询问我是否要再次保存更改。我单击"是",然后立即弹出另一个弹出窗口,询问相同的问题。

我不知道如何"释放"文件,以便其控制权完全取决于用户,而无需实际关闭Excel。

这是我使用的代码:

{
(...)
        RunBatch("Manual_adjustment");
        string fileName = "Manual_Adjustment.txt";
        Excel.Application excel = new Excel.Application();
        object misValue = System.Reflection.Missing.Value;
        Excel.Workbook excelWorkbook;
        excel.Visible = true;
     excelWorkbook = excel.Workbooks.Open(ConstantValues.FolderPathInput + + @"'" + fileName);
     releaseObject(excelWorkbook);
     releaseObject(excel);
    }
private void releaseObject(object obj)
    {
        try
        {
            System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
            obj = null;
        }
        catch (Exception ex)
        {
            obj = null;
            MessageBox.Show("Exception Occured while releasing object " + ex.ToString());
        }
        finally
        {
            GC.Collect();
        }
    }

如何让用户保存更改而不让他从操作系统级别手动打开文件?

打开 excel 文件进行手动编辑和保存

我认为调用Excell.Application.Quit可能会起作用