繁体   English   中英

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

[英]Unable to update an existing excel file with values for a certain cell in C#

我开发了一个程序,试图更新现有 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, 0, false, 5, "", "", false,
        Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, 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, Missing.Value, Missing.Value, Missing.Value, XlSaveAsAccessMode.xlNoChange,
                XlSaveConflictResolution.xlLocalSessionChanges, Missing.Value, Missing.Value,
                Missing.Value, Missing.Value);
            xlWorkBook.Close();
            xlApp.Quit();

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

            MessageBox.Show("Done");
        }

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM