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

时间:2016-01-20 15:48:20

标签: c# excel

通过C#处理Excel文件的大多数问题似乎都是以完全自动化的方式解决。我的问题略有不同。

代码的工作方式。

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

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

  3. 用户自行更改文件并手动保存并退出Excel。

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

    我不知道如何发布'该文件使其控件完全取决于用户,而无需实际关闭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();
            }
        }
    

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

1 个答案:

答案 0 :(得分:0)

我认为致电Excell.Application.Quit可能有效