- - PR -
Datagridの内容をExcel表示で「ファイルを読み込めません」
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-04-23 17:41
お世話さまです。
今回はDatagridに表示した内容をそのままExcel出力するという処理を (こちらにあった過去ログを参照して)Datagridを貼りつけたWEBフォームの Page_Loadプロシジャ内に下記のコードを書いてWEBに表示させてユーザにExcel形式で 保存させるというところまではできました。 Response.Buffer = True Response.ContentType = "application/vnd.ms-excel" しかし、(恐らくデータ量の問題で)グリッドに表示する行が12行 を越えると「ファイルを読み込めません」というExcelのメッセージボックス が表示されてしまいます。 11行までは問題なく表示でき、また、異なるデータでテストしても やはり12行を越えると先のエラーメッセージが出ますので、 データに依存しているのではなく、データ量に依存したエラーと見てます。 また、先のコードをコメントアウトして単にグリッドに表示した場合は (40行ぐらいのデータ量でも)問題なく表示されます。 この程度のデータ容量でパンクするのであれば別の方法も 考えないといけないかな?と思っております。 IEかExcelの設定で回避できるのでしょうか? ご教示頂ければ幸いです。m()m ちなみに環境は下記の通りです。 言語:ASP.NET(VB) サーバ:Win2000,Excel97(SR-2) クライアント:Win-XP,Excel2002(SP-2),IE6.0(SP1) |
|
投稿日時: 2003-04-24 12:00
こんにちは。
11行の場合に作成されるExcel形式のファイルのサイズと12行の場合に作成される Excel形式のファイルのサイズは、それぞれどのくらいでしょうか? また、Response.Write の部分はどのように記述されてますか? (差し支えなければですけど...) |
|
投稿日時: 2003-04-24 18:45
こんにちは!^^
またまたお世話になります。 本日はお休みを頂いておりますので、明日 ファイルサイズをUP致します。 ちなみにResponse.Writeは一切使っておりません。 DataGridに表示させているだけです。 |
|
投稿日時: 2003-04-25 10:09
こんにちは。
なるほど、ちょっと勘違いしてました。(^^; ひょっとすると ViewState が引っかかってるのかもしれませんね。 出来上がった Excelファイルをテキストエディタで開くと、中身はHTMLファイルだと 思います。その中に、__VIEWSTATEというhiddenの項目があってvalueがバイナリの ような文字列になっていると思います。 DataGrid のプロパティで EnableViewState というのがあってデフォルトでは true になってるかと思います。これを false にしてみてはどうでしょう? |
|
投稿日時: 2003-04-25 10:27
===>Qoo様
おはようござい&お世話様でございます。 アドバイス頂いた通りにEnableViewStateの初期値をFalse に変更して実行してみたところ、解決致しました! おかげでこの方法で突き進むことができそうです。 本当に助かり&ありがとうございました。 私もいつかそちら(助言を贈る事が出来る)側の人間 に(なれるものなら)なってみたいものです。^^; |
1