我阅读了很多关于如何从 C# 到 Excel 进行通信的内容,并看到了一些很好的参考资料。
问题是我正在寻找一种简单的方法来更新现有的 excel 文件,而它仍然处于打开状态,使用最先进的方式(例如 linq)而不是 OLEDB。
这应该是几行代码,描述了我如何读取当前单元格,更新他的值并考虑文件可能不存在,但如果它确实存在并打开,它只会更新文件而不给出文件通知已经存在。如果该文件不存在,它将创建一个新文件。
SO:1.连接到一个excel文件,检查它是否存在,如果不存在,则创建一个
2.从单元格读取
3.更新单元格
4.在excel表仍然可以打开的情况下执行此操作。
我已经去过以下几个地方:
我使用了以下代码:
if (File.Exists(@"C:\\temp\\test.xls"))
{
Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbooks workBooks = excelApp.Workbooks;
Microsoft.Office.Interop.Excel.Workbook workBook = workBooks.Open(@"C:\\temp\\test.xls");
Microsoft.Office.Interop.Excel.Worksheet workSheet = workBook.Worksheets.get_Item(1);
int nColumns = workSheet.UsedRange.Columns.Count;
int nRows = workSheet.UsedRange.Rows.Count;
for (int i = 2; i < nRows; i++)
{
workSheet.Columns["1","A"] = "test";
}
workBook.Save();
workBook.Close();
}