0

コード ビハインドで Excel シートを作成してダウンロードしようとしています。ファイルをディスクに保存するのではなく、直接レスポンスとして送信したいので、次のコードを試しました。しかし、私は正確なExcelを取得していません。

Excel.Application xlApp;
            Excel.Workbook xlWorkBook;
            Excel.Worksheet xlWorkSheet;
            object misValue = System.Reflection.Missing.Value;


            xlApp = new Excel.ApplicationClass();
            xlWorkBook = xlApp.Workbooks.Add(misValue);
            xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

            for (int i = 1; i <= 100; i++)
                for (int j = 1; j < 100; j++)
                    xlWorkSheet.Cells[i, j] = i + "  : " + j;

            Response.ContentType = "application/vnd.ms-excel";
            Response.AppendHeader("Content-Disposition", "attachment; filename=translationText.xls");
            this.EnableViewState = false;
            Response.Write(xlWorkSheet);
            Response.End();

            xlWorkBook.Close(true, misValue, misValue);
            xlApp.Quit();

            releaseObject(xlWorkSheet);
            releaseObject(xlWorkBook);
            releaseObject(xlApp);

応答として Excel ワークシート オブジェクトを送信する方法。したがって、そのユーザーはExcelファイルをダウンロードするように求められます

4

1 に答える 1

5
Response.ContentType = "application/vnd.ms-excel";
Response.AppendHeader("Content-Disposition", "attachment; filename=translationText.xls");
Response.Write("<table>");
for (int i = 1; i <= 100; i++)
{
    Response.Write("<tr>");
    for (int j = 1; j < 100; j++)
    {
        Response.Write("<td>"+i + "  : " + j+"</td>");            
    }
    Response.Write("</tr>");
}
Response.Write("</table>");
Response.Flush();
Response.End();

上記のコードを試してみてください。Excel から読み取り、それを別のコードに書き込む場合は、ここで Excel オブジェクトを作成する必要はありません。

Excelファイルをブラウザに読み書きするための別のコードは、

Response.BinaryWrite(yourexcelstream)
于 2012-10-15T13:59:57.170 に答える