1. ホーム
  2. c#

[解決済み] C#によるデータアクセス後のExcelアプリケーションの終了処理

2023-02-06 01:28:50

質問

C#で、Excelのテンプレートファイルを開いて読み書きを行うアプリケーションを書いています。私は、ユーザーがアプリケーションを閉じたときに、Excelファイルを保存することなく、Excelアプリケーションのプロセスが終了していることを望んでいます。アプリケーションを複数回実行した後、タスク マネージャーを参照してください。

私はこのコードを使ってExcelファイルを開いています。

public Excel.Application excelApp = new Excel.Application();
public Excel.Workbook excelBook;
excelBook = excelApp.Workbooks.Add(@"C:/pape.xltx");

そして、データアクセスには次のコードを使います。

Excel.Worksheet excelSheet = (Worksheet)(excelBook.Worksheets[1]);
excelSheet.DisplayRightToLeft = true;
Range rng;
rng = excelSheet.get_Range("C2");
rng.Value2 = txtName.Text;

stackoverflowで似たような質問を見かけるのは、以下のようなものです。 この質問 この などと書いて、テストしてみましたが、うまくいきません。

どのように解決するのですか?

これを試してみてください。

excelBook.Close(0); 
excelApp.Quit();

ワークブックを閉じるとき、3つのオプションのパラメータがあります。

Workbook.close SaveChanges, filename, routeworkbook 

Workbook.Close(false) あるいは、レイトバインディングを行う場合は、ゼロを使用する方が簡単な場合もあります。 Workbook.Close(0) これは、ワークブックのクローズを自動化するときに、私が行った方法です。

あと、そのためのドキュメントを調べてきたら、ここにありました。 Excel ワークブックを閉じる