Powered by SpreadsheetGear
<%@ Page Language="VB" 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 Chart Linked to Defined Name using ASP.NET and VB.NET - Returns XLS Workbook Using SpreadsheetGear</title>
<meta content="Excel Report with Chart Linked to Defined Name with ASP.NET, VB.NET and SpreadsheetGear, a royalty free Microsoft Excel compatible spreadsheet component for the Microsoft .NET Framework featuring the fastest and most complete calculation engine available. Create, read, modify, calculate and write Microsoft Excel workbooks from your Microsoft .NET, ASP.NET, C#, VB.NET and Microsoft Office solutions. Integrates with Microsoft Visual Studio .NET, including IntelliSense and Dynamic Help." name="description" />
<script language="VB" runat="server">

    Sub Page_Load(sender As Object, e As EventArgs)
        ' Open a workbook template containing a chart
        Dim ssFile As String = Server.MapPath("files/chartdefinedname.xls")
        Dim workbook As SpreadsheetGear.IWorkbook = SpreadsheetGear.Factory.GetWorkbook(ssFile)
        Dim worksheet As SpreadsheetGear.IWorksheet = workbook.Worksheets("Sheet1")

        ' Load random data and format as $ using a multiple cell range.
        Dim range As SpreadsheetGear.IRange = worksheet.Cells("A1:A10")
        range.Formula = "=1000 + (RAND() * 2000)"
        range.NumberFormat = "$#,##0_);($#,##0)"

        ' Change the chart series link range by updating the defined name 
        ' reference to point at the random data range
        worksheet.Names("ChartSeries1").RefersTo = "=" + range.Address

        ' 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()
    End Sub 'Page_Load

</script>
</head>
</html>