1

私は現在、Excelファイルに出力するプログラムを書いています。(それが読むのと同じ開く) アプリケーションで変更する前に、ユーザーがファイルを Excel で開くように感じます。きちんとしていない新しいファイルを保存できることはわかっていますが。

Excel からファイルのロックを解除する方法、またはファイルの書き込みを強制する方法を探しています。

ファイルをExcelで開き、Javaからファイルに書き込めるようにする必要があります。

ありがとうございました!

編集:

なぜファイルのロックを解除したいのかという質問に答えるために、私が取り組んでいるプログラムにはExcelビューアが組み込まれておらず、標準化された入力に基づいて更新する機能しかありません。

そのため、ユーザーは引き続き Excel でファイルを表示します。最初にこのプログラムを開く必要がある場合は、それも問題ありません。

別のオプションは、Excel がまだファイルを読み取ることができる間に書き込みアクセスでファイルを開く方法だと思いますか?

現在、開くときに Apache POI HSSF/XSSF を使用しています。プログラムがファイルを開くと、Excel で開こうとすると、次のエラーが表示されます。「ファイル形式が有効でないため、Excel でファイルを開くことができません。ファイルが破損しておらず、ファイル拡張子がファイルの形式と一致していることを確認してください。

4

2 に答える 2

2

ファイルがロックされているのには十分な理由があります。Excel プログラマーの視点から問題を考えてみてください。ファイルをロックするプログラムを作成する場合は、ファイルへの排他的アクセスが必要です。その間、ファイルが変更されないようにする必要があるためです。

したがって、ロックを解除できたとしても、一貫性のない状態でファイルを読み取る可能性があるため、Excel または一般に他のプログラムがクラッシュする可能性があります。

ロックされている場合はファイルを確認し、更新するファイルが別のプログラムで開かれていることをユーザーに通知することをお勧めします。プログラムを続行する前に、ユーザーはこのプログラムを閉じる必要があります。

于 2013-09-16T08:53:10.760 に答える