0

xls ファイルを返す asp.net mvc アクションがあります。

public void Excel(文字列ファイル名)
{
    DAOSolicitacao dao = new DAOSolicitacao();

    System.Threading.Thread.Sleep(5000);
    var 製品 = dao.GetSolicitacoes();

    var grid = new GridView();
    grid.DataSource = 製品;
    grid.DataBind();

    Response.ClearContent();
    Response.Buffer = true;
    Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", filename));
    Response.ContentType = "application/ms-excel";
    Response.Charset = "";

    StringWriter sw = 新しい StringWriter();
    HtmlTextWriter htw = new HtmlTextWriter(sw);

    grid.RenderControl(htw);

    Response.Output.Write(sw.ToString());
    Response.Flush();
    Response.End();
}

この xls ファイルを zip ファイルに戻すにはどうすればよいですか?

4

2 に答える 2

0

クラス ZipFile には既にビルドがあります

http://msdn.microsoft.com/en-us/library/system.io.compression.zipfile.aspx

あなたが試すことができる

using (ZipFile zipFile = new ZipFile())
{
    Response.ClearContent();
    Response.Buffer = true;
    Response.AddHeader("content-disposition", string.Format("attachment; filename={0}",   filename));
    Response.ContentType = "application/ms-excel";
    Response.Charset = "";
    StringWriter sw = new StringWriter();
    HtmlTextWriter htw = new HtmlTextWriter(sw);
    grid.RenderControl(htw);
    zipFile.Save(Response.Output.Write(sw.ToString())); 
    return File(zipFile.GetBytes(), "application/zip", downloadFileName);

}
于 2013-06-24T17:35:49.323 に答える