トップ回答者
Excel2003を使用していたアプリケーションを2007or2008に移行したい

質問
-
VS.Net2003で作成したアプリ(WindowsXP上で実行)で、EXCELシートの読込み・書込み等を行っています。
しかし、最近データ量が増え、行数が65536行を超えています。
データベースの使用等が望ましいのですが、
現状、アプリを修正しない方向で検討しています。
EXCEL2007以降では、65536行を超える行を扱えるようですが、
どのように移行したら良いのでしょうか?
わからないことは、
・EXCEL2007の入ったPCで再コンパイルする必要がある?
・アプリを実行するPCにEXCEL2007を入れるだけで良いか?
・EXCEL.EXEを手動で上書きする手順が必要か?
などです。
他にもアドバイス等あるようでしたら頂きたいです。
宜しくお願い致します。
回答
-
理屈的にはアプリを実行するPCにEXCEL2007を入れるだけで良いです。VS2003で使用しているExcelのPIAがあると思うのですが、そのExcelよりも新しいバージョンのExcelであれば動作します。逆に言えば、VS2003でExcel2007のPIAを使用してコンパイルしてしまうと、Excel2007よりも古いバージョンのExcelでは動作しなくなるので注意が必要です。
ところで最初に理屈的にと書いたのは、現在VS2003でコンパイルされているExcelの古いバージョンのPIAで、例えExcel2007が操作できたとしても、65536行を超える行が扱えるかどうか私も試したことがないため、その部分については何とも言えないからです。すみません。
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/- 編集済み trapemiyaModerator 2009年3月10日 0:45 情報追加
- 回答としてマーク Camui 2009年3月11日 0:01
-
EXCEL2007では、拡張子がxlsの場合には65536行までの表示になってしまいます。
65536行を超えて出力するにはxlsxなどの拡張子にする必要があります。
EXCEL2007の入ったPCで再コンパイルというよりは
また、EXCEL2007のCOMコンポーネントをインクルードしてコンパイルする必要があります。
下記を参照してください。
http://www.atmarkit.co.jp/fdotnet/dotnettips/717excelfile/excelfile.html
参考になれば幸いです。- 回答としてマーク Camui 2009年3月11日 0:02
すべての返信
-
理屈的にはアプリを実行するPCにEXCEL2007を入れるだけで良いです。VS2003で使用しているExcelのPIAがあると思うのですが、そのExcelよりも新しいバージョンのExcelであれば動作します。逆に言えば、VS2003でExcel2007のPIAを使用してコンパイルしてしまうと、Excel2007よりも古いバージョンのExcelでは動作しなくなるので注意が必要です。
ところで最初に理屈的にと書いたのは、現在VS2003でコンパイルされているExcelの古いバージョンのPIAで、例えExcel2007が操作できたとしても、65536行を超える行が扱えるかどうか私も試したことがないため、その部分については何とも言えないからです。すみません。
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/- 編集済み trapemiyaModerator 2009年3月10日 0:45 情報追加
- 回答としてマーク Camui 2009年3月11日 0:01
-
EXCEL2007では、拡張子がxlsの場合には65536行までの表示になってしまいます。
65536行を超えて出力するにはxlsxなどの拡張子にする必要があります。
EXCEL2007の入ったPCで再コンパイルというよりは
また、EXCEL2007のCOMコンポーネントをインクルードしてコンパイルする必要があります。
下記を参照してください。
http://www.atmarkit.co.jp/fdotnet/dotnettips/717excelfile/excelfile.html
参考になれば幸いです。- 回答としてマーク Camui 2009年3月11日 0:02