以下代码展示了如何在 ASP.Net Web Form 中使用服务端 Excel 导入和导出功能:
使用以下步骤创建该例子:
- 按照 Installing and Configuring the Excel Import and Export Component 安装 服务端导入和导出组件。
- 在 VisualStudio 中创建一个 ASP.NET 空工程。
- 将安装目录下的 "ExcelService" 目录下的程序集添加到工程中。
- 添加一个 WebForm aspx 项目
- 给 Spread.Sheet 和服务端导出组件分别添加一个许可,参照:Adding a License for the Excel Import and Export Component.
在项目中添加两个按钮,一个 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>
给按钮点击事件添加以下方法:
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(); } }
- 按下键盘上的 F5 运行该程序。点击“Select Choose File”来选择一个Excel文件,然后点击Import Excel 按钮来导入该 Excel 文件。
- 点击 Export Excel 按钮来将 Spread.Sheets 中的内容导出到 Excel 文件。