Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin
Wiki Markup
{description}
{excerpt}Generates an Excel binary file and streams it to the specified {msdn:System.IO.Stream|System.IO.Stream} or, a class derived from {{System.IO.Stream}} \(for example, {msdn:System.IO.FileStream|System.IO.FileStream}\). If you pass [Save|ExcelTemplate.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.{excerpt}

{signature:C#}
 public virtual void Save(System.IO.Stream stream)
{signature}{signature:vb.net}
Public Overridable Sub Save(ByVal stream As System.IO.Stream)
{signature}

{parameters}
{param:outputStream}A {{System.IO.Stream}} object \(for example, {{Response.OutputStream}}\) or, a class derived from {{System.IO.Stream}} \(for example, {{System.IO.FileStream}}\){param}

{exceptions}
{exception:ArgumentNullException}{{Save}} will throw this exception if {{null}} \(C\#\) or {{Nothing}} \(VB.NET\) is passed to the method.{exception}
{exception:ArgumentException}{exception}

{remarks}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|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. 
{remarks}

{example}
{code:csharp|title=C#}
          //--- 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();
{code}
{code:vb.net|title=vb.net}
          '--- 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()
{code}
{example}