QA@IT

ASP.NETで、レポート機能で出力する際のCSV出力をしたい

3626 PV

今、レポート機能を使用して、データベースの内容を単純にPDFを出力しています
ASP.NET 2010です

PDFで出力出来たついでに、同じフォーマットなので、CSVを出力しようとしてみたのですが

protected void Page_Load(object sender, EventArgs e)
{
    DataTestTableAdapter a = new DataTestTableAdapter();    //データソース
    ReportDataSource rs=new ReportDataSource();
    rs.Name="DataSet1";
    rs.Value=a.GetData("2013/10/");
    ReportViewer1.LocalReport.DataSources.Add(rs);          //データソースをレポートに接続

    //PDFはうまくいく
    //byte[] bTmp = ReportViewer1.LocalReport.Render("PDF");
    // コンテンツ・タイプの設定
    //Response.ContentType = "application/pdf";

    //CSVはだめ
    byte[] bTmp = ReportViewer1.LocalReport.Render("CSV");//ここでエラー
    Response.ContentType = "text/csv";

    // バイナリデータ出力
    Response.BinaryWrite(bTmp);
    // 余計なものを出力させない
    Response.End();
}

以上のようなコードでCSV出力を試してみたのですが、エラーになりました
ヘルプにもワード、エクセル、PDF,画像の拡張子ということなので、しょうがないとは思うのですが
せっかく作ったのでできれば出力したいと思ったのですが

ずばり。無理なのでしょうか

回答

データソースである型付 DataSet があるのですから、それから CSV 形式にしてダウンロードするようなコードを書けばいいと思いますが。ググればサンプルコードも見つかるのではないでしょうか?

編集 履歴 (0)
  • DataSetから直接はき出すののが簡単そうですね。ありがとうございます。 -
  • すいません。補足です
    レポートでCSVを出力したいと思ったのは、
    どうせPDFで出力してるんだし、フォーマットも一緒だから
    数行書き換えれば済まないかなぁ・・と言う思いつきでしたので・
    -
ウォッチ

この質問への回答やコメントをメールでお知らせします。