ASP.Net webform生成的Excel文件到本地PC而不是服务器

时间:2013-03-23 16:31:05

标签: c# asp.net excel webforms

关于生成Excel文件的问题,我需要能够在webform应用程序位于远程Web服务器上的同时在本地创建文件。这不是我之前处理的任何事情,所以我发现很难提出什么问题。我使用c#在VS2010上使用WebForms。 eanderson指出了我的方向 Simplexcel Michael Stum似乎可以解决问题,但文件是在服务器上生成的(或者我应该说'尝试'因为它是不允许的!)。 / p>

1 个答案:

答案 0 :(得分:2)

您应该可以执行类似的操作来生成和下载Excel Sheet

protected void generateExcelSheet_click(object sender, EventArgs e)
{
    // Create Excel Sheet
    var sheet = new Worksheet("Hello, world!");
    sheet.Cells[0, 0] = "Hello,";
    sheet.Cells["B1"] = "World!";
    var workbook = new Workbook();
    workbook.Add(sheet);

    // Save
    Response.ContentType = "application/vnd.ms-excel";
    Response.AppendHeader("Content-Disposition", "attachment; filename=MyExcelSheet.xls");
    workbook.Save(Response.OutputStream, CompressionLevel.Maximum);

    Response.End();
}

designer.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="FileDownload.Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <asp:Button ID="btnExcel" runat="server" Text="Download Excel Sheet" onclick="generateExcelSheet_click" />
    </form>
</body>
</html>

我将此代码基于this教程。