Powered by SpreadsheetGear
<%@ Page Language="C#" EnableViewState="false" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Excel Report with Formulas and Formatting using ASP.NET and C# - Returns Richly Formatted Excel Workbook Using SpreadsheetGear</title>
<meta content="Excel Report with Formulas and Formatting using ASP.NET, C# and SpreadsheetGear to return a richly formatted Excel workbook." name="description" />
<script language="C#" runat="server">
     
    void Page_Load(Object sender, EventArgs e)
    {
        // Create a workbook. 
        SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook(); 
        
        // Get the worksheet and change the name. 
        SpreadsheetGear.IWorksheet worksheet = workbook.Worksheets["Sheet1"]; 
        worksheet.Name = "2005 Sales"; 
        
        // Get the worksheet cells reference. 
        SpreadsheetGear.IRange cells = worksheet.Cells; 
        
        // Add column headers. 
        cells["B1"].Formula = "Jan"; 
        cells["C1"].Formula = "Feb"; 
        cells["D1"].Formula = "Mar"; 
        
        // Add row headers. 
        cells["A2"].Formula = "West"; 
        cells["A3"].Formula = "Central"; 
        cells["A4"].Formula = "East"; 
        
        // Add random data. 
        cells["B2:D4"].Formula = "=RAND()*10000"; 
        
        // Center the column headers. 
        cells["B1:D1"].HorizontalAlignment = SpreadsheetGear.HAlign.Center;
        
        // Bold the row and column headers. 
        cells["B1:D1,A2:A4"].Font.Bold = true; 
        
        // Add defined names. 
        SpreadsheetGear.INames names = workbook.Names; 
        names.Add("Jan", "='2005 Sales'!$B$2:$B$4"); 
        names.Add("Feb", "='2005 Sales'!$C$2:$C$4"); 
        names.Add("Mar", "='2005 Sales'!$D$2:$D$4"); 
        names.Add("Sales", "='2005 Sales'!$B$2:$D$4");
        
        // Format sales data as currency. 
        cells["Sales"].NumberFormat = "$#,##0"; 
        
        // Sum each month. 
        cells["B5"].Formula = "=SUM(Jan)"; 
        cells["C5"].Formula = "=SUM(Feb)"; 
        cells["D5"].Formula = "=SUM(Mar)"; 
        
        // Format sums. 
        cells["B5:D5"].NumberFormat = "$#,##0";

        // Stream the Excel workbook to the client in the Excel 97-2003 (xls) 
        // file format compatible with Excel 97-2019 and Excel for Office 365.
        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>
</body>
</html>