Page tree
Skip to end of metadata
Go to start of metadata

以下代码展示了如何在 ASP.Net Web Form 中使用服务端 Excel 导入和导出功能:

使用以下步骤创建该例子:

  1. 按照 Installing and Configuring the Excel Import and Export Component 安装 服务端导入和导出组件。
  2. 在 VisualStudio 中创建一个 ASP.NET 空工程。

  3. 将安装目录下的 "ExcelService" 目录下的程序集添加到工程中。

  4. 添加一个 WebForm aspx 项目
  5. 给 Spread.Sheet 和服务端导出组件分别添加一个许可,参照:Adding a License for the Excel Import and Export Component.
  6. 在项目中添加两个按钮,一个 FileUpload 组件,两个 HiddenField 组件,并在form中添加一个div。如下所示:

    HTML
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="TestExcelIO_WebForm.WebForm1" %>
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <!--Spread.Sheets Widgets JavaScript-->
        <link href="css/gc.spread.sheets.excel2013white.10.x.x.css" rel="stylesheet" type="text/css" />
        <script src="scripts/gc.spread.sheets.all.10.x.x.min.js" type="text/javascript"></script>
    <script>GC.Spread.Sheets.LicenseKey = "your key";</script>
        <script>
            function onLoad() {
                var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"));
                var hiddenFile = document.getElementById("HiddenField1");
                if (hiddenFile && hiddenFile.value !== "") {
                    spread.fromJSON(JSON.parse(hiddenFile.value));
                }
            }
            function exportExcel() {
                var spread = GC.Spread.Sheets.findControl(document.getElementById("ss"));
                var hiddenFile2 = document.getElementById("HiddenField2");
                hiddenFile2.value = JSON.stringify(spread.toJSON());
            }
        </script>
    </head>
    <body onload="onLoad()">
        <form id="form1" runat="server">
            <asp:FileUpload ID="FileUpload1" runat="server" Height="24px" Width="223px" />
            <asp:Button ID="ImportBtn" runat="server" Text="Import Excel" OnClick="ImportBtn_Click" />
            <asp:Button ID="ExportBtn" runat="server" Text="Export Excel" OnClick="ExportBtn_Click" OnClientClick="exportExcel()"/>
            <div id="ss" style="width:100%;height:500px">
                
            </div>
            <asp:HiddenField ID="HiddenField1" runat="server" />
            <asp:HiddenField ID="HiddenField2" runat="server" />
        </form>
    </body>
    </html>
  7. 给按钮点击事件添加以下方法:

    C#
    // Add your license key
    // GrapeCity.Spread.Sheets.License.LicenseKey = "Your Key";
    
    protected void ImportBtn_Click(object sender, EventArgs e)
    {
        if (this.FileUpload1.HasFile)
        {
            GrapeCity.Spread.Sheets.ExcelIO.Importer excelImporter = new GrapeCity.Spread.Sheets.ExcelIO.Importer();
            this.HiddenField1.Value = excelImporter.ImportExcel(this.FileUpload1.FileContent);
        }
    }
    protected void ExportBtn_Click(object sender, EventArgs e)
    {
        if (!string.IsNullOrEmpty(this.HiddenField2.Value))
        {
            GrapeCity.Spread.Sheets.ExcelIO.Exporter excelExporter = new GrapeCity.Spread.Sheets.ExcelIO.Exporter(this.HiddenField2.Value);
            excelExporter.SaveExcel(Response.OutputStream);
            Response.AddHeader("content-disposition", "attachment; filename= test.xlsx");
            Response.End();
        }
    }
  8. 按下键盘上的 F5 运行该程序。点击“Select Choose File”来选择一个Excel文件,然后点击Import Excel 按钮来导入该 Excel 文件。
  9. 点击 Export Excel 按钮来将 Spread.Sheets 中的内容导出到 Excel 文件。
  • No labels