16753


GridViewをCSV化する方法はよく見かけますが、  
ListViewもRowsやCellsに近いものを使用してCSVに出力が可能なのでしょうか。

現在はエクセル化のみ粗いですが動きました。

[code]

        Response.Clear();
        Response.Buffer = true;
        Response.AddHeader("Content-Disposition", "attachment;filename=gv1.xls");
        Response.ContentType = "application/vnd.ms-excel";
        Response.Charset = "";
        this.EnableViewState = false;
        StringWriter stringWriter = new StringWriter();
        HtmlTextWriter htmlTextWriter = new HtmlTextWriter(stringWriter);
        ListView1.RenderControl(htmlTextWriter);
        Response.Write(stringWriter.ToString());
        Response.End();
    
[/code]


CC BY-SA 3.0
2015-09-18T07:47:41.833
16743
2015-09-28T22:44:19.613
2015-09-28T22:44:19.613
4129
7462
question
c# asp.net csv
ASP.NETにて ListView をCSV, Excelにエクスポートする方法


`ListView`内の`i`行目の`T`型のコントロールにアクセスしたい場合は下記のような処理になります。

[code]

    ListViewItem item = ListView1.Items[i];
    T control = item.FindControl("コントロールのID") as T;
    
[/code]

このようにセルに当たる各コントロールを取得すれば`Text`その他のプロパティを加工し、CSVなりExcelなりに出力することは可能です。必要なら行に隠し項目を置いて出力用の情報を保持しておく手もあります。

なお質問文のコードで出力しているファイルはExcel形式ではないと思います。NPOI等に変更すべきではないでしょうか。


CC BY-SA 3.0
2015-09-18T11:56:58.540
16753
2015-09-18T11:56:58.540
5750
16743
answer