Follow these steps to generate a simple Excel Report from ASP.NET using SpreadsheetGear 2010
Create a new ASP.NET Web Site
-
Launch Visual Studio 2005, Visual Studio 2008 or Visual Studio 2010.
-
On the File menu, point to New and click Web Site. The New Web Site dialog box appears.
-
Under Templates, click ASP.NET Web Site.
- Change the Location as desired and set the Language to Visual C#.
-
Click OK to create the web site.
Add a reference to SpreadsheetGear 2010
- In Solution Explorer, select the web site you just created.
- On the Website menu, click Add Reference. The Add Reference dialog box appears.
- In the Add Reference dialog box, click the .NET tab. A list of .NET components appears.
- In the list of .NET components, click SpreadsheetGear 2010.
- Click OK to add the reference.
Add code to create a workbook and return the workbook to Excel on the client
-
In Solution Explorer, right click on Default.aspx and choose View Markup.
- Replace the Default.aspx markup with:
Simple ASP.NET Excel Report using SpreadsheetGear 2010 Copy Code <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_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>My First ASP.NET Excel Report</title> <script language="C#" runat="server"> void Page_Load(Object sender, EventArgs e) { // Create a new workbook. SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook(); SpreadsheetGear.IWorksheet worksheet = workbook.Worksheets["Sheet1"]; SpreadsheetGear.IRange cells = worksheet.Cells; // Set the worksheet name. worksheet.Name = "2005 Sales"; // Load column titles and center. cells["B1"].Formula = "North"; cells["C1"].Formula = "South"; cells["D1"].Formula = "East"; cells["E1"].Formula = "West"; cells["B1:E1"].HorizontalAlignment = SpreadsheetGear.HAlign.Center; // Load row titles using multiple cell text reference and iteration. int quarter = 1; foreach (SpreadsheetGear.IRange cell in cells["A2:A5"]) cell.Formula = "Q" + quarter++; // Load random data and format as $ using a multiple cell range. SpreadsheetGear.IRange body = cells[1, 1, 4, 4]; body.Formula = "=RAND() * 10000"; body.NumberFormat = "$#,##0_);($#,##0)"; // Stream the Excel spreadsheet to the client in a format // compatible with Excel 97/2000/XP/2003/2007/2010. Response.Clear(); Response.ContentType = "application/vnd.ms-excel"; Response.AddHeader("Content-Disposition", "attachment; filename=report.xls"); workbook.SaveToStream(Response.OutputStream, SpreadsheetGear.FileFormat.Excel8); Response.End(); } </script> </head> <body> <form id="form1" runat="server"> <div> </div> </form> </body> </html>
Run the web page
-
Right click on the markup of Default.aspx and choose View in Browser.
-
Internet Explorer will be launched and a "File Download" dialog box will ask whether you want to open or save the file.
-
You may have different results with older versions of Internet Explorer or Excel, or if Internet Explorer or Excel settings have been changed.