Excel出力をクライアント側にするには

811 views
Skip to first unread message

koba yasi

unread,
Oct 17, 2017, 9:03:06 PM10/17/17
to RapidReportサポート QAフォーラム
ASP.NET+VB.NET使用時のExcel出力に関して
質問させて頂きます。

Excel出力でサーバー側に出力されるサンプルはありますが、
クライアント側へ出力されるサンプルはなかったように
思います。

どのようにすれば、
クライアント側へ出力できるのでしょうか?

RapidReport

unread,
Oct 18, 2017, 12:56:35 AM10/18/17
to RapidReportサポート QAフォーラム
吉川です。よろしくお願いします。

サンプルを用意しました。お試し下さい。
・excel(xls)を出力する場合
        Dim report As New Report(Json.Read(server.MapPath("example1.rrpt")))
        report.Fill(New ReportDataSource(getDataTable))
        Dim pages As ReportPages = report.GetPages()
        Using out As Stream = response.OutputStream
           
Dim workbook As New HSSFWorkbook
           
Dim renderer As New XlsRenderer(workbook)
            renderer
.NewSheet("sheet_name")
            pages
.Render(renderer)
            workbook
.Write(out)
            response
.ContentType = "application/vnd.ms-excel"
            response
.AddHeader("content-disposition", "filename=filename=output.xls")
            response
.End()
       
End Using

・excel(xlsx)を出力する場合
        Dim report As New Report(Json.Read(server.MapPath("example1.rrpt")))
        report.Fill(New ReportDataSource(getDataTable))
        Dim pages As ReportPages = report.GetPages()
        Using out As Stream = response.OutputStream
           
Dim workbook As New XSSFWorkbook
           
Dim renderer As New XlsxRenderer(workbook)
            renderer
.NewSheet("sheet_name")
            pages
.Render(renderer)
            workbook
.Write(out)
            response
.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
            response
.AddHeader("Content-Disposition", "attachment;filename=output.xlsx")
            response
.End()
       
End Using


念のため、RapidReportのホームページの、
「VisualBasicからPDFをASPのレスポンスとして出力」URLを記しておきます。

Reply all
Reply to author
Forward
0 new messages