Sample ASP Code: Excel reporting - data only

<%@ language="JavaScript" %>

<%

      //Create an instance of the application

      var app = Server.CreateObject("PagosSpreadSheet.Application");

      //Add a workbook

      var wb = app.Workbooks.Add();

      //Load a worksheet from added workbook

      var ws = wb.Worksheets("Sheet1");

 

      //Prepare worksheet data

      var data = new Array([ "Employee", "Volume Q1", "Sales Q1", "Volume Q2", "Sales Q2", "Volume Q3", "Sales Q3", "Volume Q4", "Sales Q4" ], [ "Helen", 5, 7906.25, 40, 63250, 69, 109106.25, 31, 49018.75 ], [ "Fred", 32, 45640, 80, 114100, 45, 64181.25, 87, 124083.75 ], [ "John", 60, 107355, 65, 116301.25, 90, 161032.5, 50, 89462.5 ], [ "Jane", 40, 54770, 1, 1369.25, 22, 30123.5, 65, 89001.25 ], [ "Total", 137, 215671.25, 186, 295020.5, 226, 364443.5, 233, 351566.25 ]);

 

      var row;

      var column;

 

      //Bind values to cells

      for (row = 1; row < 7; row++)

      {

            for (column = 1; column < 10; column++)

            {

                  ws.Cells(row, column).Value = data[row-1][column-1];

            }

      }

     

      //Save workbook to a temporary file for streaming

      var fileName = Server.MapPath("Spreadsheets/Temp/EmployeeData" + Session.SessionID + ".xml");

      wb.SaveAs(fileName);

 

      //Prepare response for streaming

      Response.Clear();

      Response.ContentType = "application/vnd.ms-excel";

      Response.AddHeader("Content-Disposition", "attachment; filename=EmployeeData.xml");

     

      //Stream workbook to response

      var stream = Server.CreateObject("ADODB.Stream");

      stream.Mode = 3;

      stream.Open();

      stream.LoadFromFile(fileName);

      content=stream.ReadText(-1);

      Response.BinaryWrite(content);

      stream.Close();

      stream=null;

      content=null;

 

      //Delete temporary file

      var fso=Server.CreateObject("Scripting.FileSystemObject");

      fso.DeleteFile(fileName);

      fso=null;

 

      //Close workbook

      wb.Close();

 

      //End response

      Response.End();  

%>