|
分類:[C#]
[開発環境]C#, WPF4.0
VS2010 でWPF開発をしています。
データベース(SQLServer2012)からレコードを取得し、DataGridに表示(Datasetに取り込みます)しています。 表示したテーブル内容をエクセルのXLSXファイルとして出力し、エクセルをWPFから起動して表示させます。 ユーザーはエクセル上で編集します。その後、WPF上のボタンで編集したXLSXをDatasetに取り込んで既存のDataTableと交換し、DataGridを更新します。
取り込むときにOLEDBを使っているのですが、ConnectionのOpen()のタイミングで、XLSXファイルが別のエクセルインスタンス上にReadOnlyで開いてしまいます。 取り込む前にユーザーが編集したXLSXファイルを保存して閉じるようにして対応済みではあります。
対象のXLSXファイルが開いていない場合はOpen()メソッドで開かれないのに、XLSXファイルが開かれているとOpen()で開かれてしまうのはなぜでしょうか?
|