微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法使用 C# 中某个单元格的值更新现有的 excel 文件

如何解决无法使用 C# 中某个单元格的值更新现有的 excel 文件

我开发了一个程序,试图更新现有 Excel 工作表的某些单元格。当我尝试设置某些单元格的值时,我找不到应用于保存的 Excel 工作表的更改。 这是使用某些值更新 Excel 工作表单元格的方法代码

public static string filePath = @"D:\Egyption Consulate\StatisticalTemplate.xlsx";
        public void UpdateExcelTmplate(Dictionary<int,int> source,string ExcelHeader)
        {
            Application xlApp = new Application();
            Workbook xlWorkBook = xlApp.Workbooks.Open(filePath,false,5,"",Microsoft.Office.Interop.Excel.XlPlatform.xlWindows,true,false);
            Worksheet xlWorkSheet = (Worksheet)xlWorkBook.Worksheets.get_Item(1);
            Range xlRange = xlWorkSheet.UsedRange;

            xlWorkSheet.Cells[3,12] = source[0];
            xlWorkSheet.Cells[4,12] = source[1];
            xlWorkSheet.Cells[5,12] = source[0] + source[1];

            xlApp.displayAlerts = false;
            xlWorkBook.SaveAs(filePath,XlFileFormat.xlOpenXMLWorkbook,Missing.Value,XlSaveAsAccessMode.xlNoChange,XlSaveConflictResolution.xlLocalSessionChanges,Missing.Value);
            xlWorkBook.Close();
            xlApp.Quit();

            Marshal.ReleaseComObject(xlWorkSheet);
            Marshal.ReleaseComObject(xlWorkBook);
            Marshal.ReleaseComObject(xlApp);

            MessageBox.Show("Done");
        }

我检查了 stackoverflow 上的所有帖子,它们使用的方式与我使用的方式相同,但我的问题是单元格的值未更新。有谁知道这个问题背后的原因是什么?

解决方法

我现在知道这个问题了。除了我使用了错误的 excel 行和列索引之外,还有一个 excel 文件被锁定。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。