C# から Excel への通信方法について多くのことを読み、いくつかの良い参考文献を見ました。
問題は、OLEDB ではなく最も高度な方法 (linq など) を使用して、既存の Excel ファイルを開いている間に更新する簡単な方法を探していることです。
これは、現在のセルを読み取り、その値を更新し、ファイルが存在しない可能性があることを考慮に入れる方法を説明する数行のコードである必要がありますが、存在して開いている場合は、ファイルが存在することを通知せずにファイルを更新するだけですすでに存在しています。ファイルが存在しない場合は、新しいファイルが作成されます。
SO:1.Excelファイルに接続し、存在するかどうかを確認し、存在しない場合は作成します
2.セルから読み取り
ます3.セルを更新
します4.Excelシートがまだ開いている間にこれを行います.
私はすでに次の場所を訪れました:
oledbを使用して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();
}