打开 excel 文件进行手动编辑和保存
本文关键字:编辑 保存 excel 文件 打开 | 更新日期: 2023-09-27 18:31:13
似乎大多数关于通过 C# 处理 Excel 文件的问题都围绕着以全自动方式处理。我有一个稍微不同的问题。
代码应该工作的方式。
-
启动在给定位置创建.txt文件的批处理,该文件由 sql 查询的结果填充。(已完成和工作)
-
在Excel中打开文件(我使用.txt的原因是.csv通过删除前导零等来弄乱我的数字)并使其对用户可见。代码停止工作,其余部分留给用户。
-
用户自己对文件进行更改,并手动保存这些更改并退出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();
}
}
如何让用户保存更改而不让他从操作系统级别手动打开文件?
我认为调用Excell.Application.Quit可能会起作用