Generates an Excel binary file and streams it to the specified or, a class derived from System.IO.Stream (for example, ). If you pass Save a System.IO.FileStream, ExcelWriter will save the generated file on the server. If you pass Save Response.OutputStream, ExcelWriter will stream the the generated file to the client.

 public virtual void Save(System.IO.Stream stream)
Public Overridable Sub Save(ByVal stream As System.IO.Stream)

A System.IO.Stream object (for example, Response.OutputStream) or, a class derived from System.IO.Stream (for example, System.IO.FileStream)

Save will throw this exception if null (C#) or Nothing (VB.NET) is passed to the method.

ExcelWriter allows you to save in both the Excel 97-03 BIFF8 format (.xls) or the new Office Open XML (.xlsx) format. The template file must be of the expected output format. Hence, if you wish to output .xls files, you must start with a .xls template, and if you wish to output .xlsx files, you must start with a .xlsx template. ExcelWriter does not support the creation or editing of .xlsx files with the ExcelApplication object.

You can call Save more than once for a single instance of ExcelTemplate. This allows you to save more than one copy of a generated file, and/or both save the file on the server and stream it to the client.

          //--- FileStream and FileMode are in the System.IO namespace
          //--- This stream is for a .xls template
          FileStream fstream = new FileStream(@"C:\temp\outfile.xls", FileMode.Create);

          //--- Pass the FileStream to ExcelTemplate
          xlTemplate.Save(fstream);

          //--- Close the FileStream (could be in a finally block)
          fstream.Close();

          //--- FileStream and FileMode are in the System.IO namespace
          //--- This stream is for a .xlsx template
          FileStream fstream = new FileStream(@"C:\temp\outfile.xlsx", FileMode.Create);

          //--- Pass the FileStream to ExcelTemplate
          xlTemplate.Save(fstream);

          //--- Close the FileStream (could be in a finally block)
          fstream.Close();
          '--- FileStream and FileMode are in the System.IO namespace
          '--- This stream is for a .xls template
          Dim fstream As New FileStream("C:\temp\outfile.xls", FileMode.Create)

          '--- Pass the FileStream to ExcelTemplate
          xlTemplate.Save(fstream)

          '--- Close the FileStream (could be in a finally block)
          fstream.Close()

          '--- FileStream and FileMode are in the System.IO namespace
          '--- This stream is for a .xlsx template
          Dim fstream As New FileStream("C:\temp\outfile.xlsx", FileMode.Create)

          '--- Pass the FileStream to ExcelTemplate
          xlTemplate.Save(fstream)

          '--- Close the FileStream (could be in a finally block)
          fstream.Close()