@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

ヘッダを追加したGridViewのExcelダウンロードについて

1
投稿者投稿内容
his
会議室デビュー日: 2008/10/27
投稿数: 10
投稿日時: 2008-10-27 09:05
初めまして、hisと申します。

WebアプリケーションでGridViewをExcelに出力したいのですが
ヘッダを複数行表示させているGridViewをExcel出力すると
ヘッダ部分が1行抜けて表示されてしまいます。
(PreRenderで追加したヘッダ部分が表示されない。)
なんとかヘッダを表示させたいと思うのですが
何か良い手はありませんでしょうか。
宜しくお願い致します。

GridViewのExcel出力は、以下のURLの方法を参考にして行っています。
http://blogs.wankuma.com/pinzolo/archive/2007/02/04/60855.aspx

また、ヘッダを複数行表示するのはGridViewのPreRenderイベントで行っています。
protected void GridView1_PreRender(object sender, EventArgs e)
{
GridViewRow row = new GridViewRow(-1, -1, DataControlRowType.Header, DataControlRowState.Normal);
TableCell cell1 = new TableCell();
cell1.ColumnSpan = 4;
cell1.Text = "";
row.Cells.Add(cell1);
GridView1.Controls[0].Controls.AddAt(0, row);
}
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2008-10-27 10:43
PreRenderとボタンのクリックのイベントの発生順序を確認してみてください。
his
会議室デビュー日: 2008/10/27
投稿数: 10
投稿日時: 2008-10-27 13:41
>どっとねっとふぁん様

返信ありがとうございます。

イベントの発生順序を確認してみたところ
Excelダウンロードのイベントが先に発生し、PreRenderが発生していませんでした。

かなり初歩的なことなのに、言われるまで気付きませんでした。
おかげで助かりました。
his
会議室デビュー日: 2008/10/27
投稿数: 10
投稿日時: 2008-10-28 18:48
度々すみません。

同一の処理なのですが
Excelダウンロードのイベント内で
ヘッダを追加するロジックを実行するようにしたところ
ヘッダは複数行になりExcel出力できましたが
今度はフッタが表示されなくなりました。

おそらくヘッダを2行表示したためフッタ(最終行)が切れてしまったのではないかと思いますが
フッタまで表示させる方法は無いでしょうか。

Excel出力は、こちらのURLを参考にして実行しています。
(前のレスはリンクが間違ってました。)
http://blogs.wankuma.com/pinzolo/archive/2006/11/24/46804.aspx

宜しくお願い致します。
1

スキルアップ/キャリアアップ(JOB@IT)