質問

Excel シート ワークブックを操作する必要があります (シートの追加/データの追加/ 列を非表示にする / パスワードでセルを保護する / フィールドの内容を変更/ などなど)

Microsoft が提供する COM オブジェクトを使用する必要がありますか (ただし、asp.NET で使用する場合にはほとんど問題がないと思います)

または、この種のアクティビティを実行するために使用できる優れた(商用または無料の)ライブラリ/プラグインはありますか。

助けてください

役に立ちましたか?

解決

スプレッドシートギアサードパーティのコンポーネントを試してみてください。

http://www.spreadsheetgear.com/する

他のヒント

私が見つけた最も簡単な方法は、 Excel XML形式. 。こうすることで、他の XML ファイルと同様に Excel シートを編集できます。Excel がどのように列を非表示にしたり、パスワードで保護したりするかを確認するには、これらの操作を手動で行い、Excel がどのように列を XML として保存するかを確認します。これはコーディングが簡単で、非常に安定しており、高速です。

ネイティブ Excel ファイルの操作はさらに困難です。COM オブジェクトを使用できます。 プライマリ相互運用アセンブリ. 。私の経験では、これを正しく理解するのは非常に困難です。最良の場合、Excel はそれ自体の古いコピーを残しますが、これはスケジュールされた夜間のサーバー リセットで軽減できます。最悪の場合、Excel がランダムにハングし、Web サイトが応答しなくなります。

ネイティブ Excel ファイルを操作する別の方法は次のとおりです。 Office 用 Visual Studio ツール. 。確かに COM 相互運用よりも使いやすく、Visual Basic で最適に動作します。

Application.Workbooks.Open("Workbook.xls")

C# にはオプションのパラメーターがないため、ワークブックを開くのは悪い冗談のようなものになります。

Application.Workbooks.Open(@"Workbook.xls",
    missing, missing, missing, missing, missing, missing, missing,
    missing, missing, missing, missing, missing,missing, missing);

XML 操作が私にとって非常にうまく機能したため、VSTO についてはあまり深く掘り下げませんでした。もしかしたら、ASP.NET Web サイトでそれがどのように機能するかについて他の人がコメントできるかもしれません。

スプレッドシートギア付きにあなたが保護する機能を含む完全なExcelのドキュメントへのアクセス権やマクロ機能のすべてを持っていますそして、などの非保護セル、列、我々はあなたがリサイズ以外で記述されているのと同じものを持っています。

私たちは、COMオブジェクトを使用していると私はそれをお勧めすることはできません。大きな問題ではオブジェクトが解放されることはありません飽きないということです...

現在Gemboxソフトウェアからコンポーネントを使用します。 2年間のためにそれを使用して[OK]を動作しますが、それは私がここでそれを見る前に知りませんでした、1は、上記metionedことを少し安いです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top