如何解决无法使用 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 举报,一经查实,本站将立刻删除。