0

私はMVCアプリケーションに取り組んでおり、テーブルデータをエクスポートする必要があり、次のコードを使用しています:

     public ActionResult ExportData()
    {
        GridView gv = new GridView();
        gv.DataSource = db.Studentrecord.ToList();
        gv.DataBind();
        Response.ClearContent();
        Response.Buffer = true;
        Response.AddHeader("content-disposition", "attachment; filename=Marklist.xls");
        Response.ContentType = "application/ms-excel";
        Response.Charset = "";
        StringWriter sw = new StringWriter();
        HtmlTextWriter htw = new HtmlTextWriter(sw);
        gv.RenderControl(htw);
        Response.Output.Write(sw.ToString());
        Response.Flush();
        Response.End();

        return RedirectToAction("StudentDetails");
    }

これにより、単一のワークシートが作成されます。他のテーブル データを含む別のワークシートが必要です。複数のワークシートでデータをエクスポートする方法を教えてください。

4

1 に答える 1

2

代わりにサードパーティのライブラリを使用するのはどうですか? これは無料です: https://code.google.com/p/excellibrary/

string file = "C:\\newdoc.xls";
Workbook workbook = new Workbook();
Worksheet worksheet = new Worksheet("First Sheet");
Worksheet worksheet2 = new Worksheet("Second Sheet");
workbook.Worksheets.Add(worksheet);
workbook.Worksheets.Add(worksheet2);
workbook.Save(file);

これにより、Excel がたまたま読み取る HTML ファイルではなく、実際の Excel ファイルを実際に作成するため、はるかに流動的なユーザー エクスペリエンスが提供されます。

于 2013-07-16T11:10:46.317 に答える