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
Introducedin
7.1.0.1855
7.1.0.1855
Description

Excerpt

Generates an Excel binary or OOXML file and saves it as an attachment to a SharePoint list item.

Signature
C#
C#
public static void Save(this ExcelTemplate template, Microsoft.SharePoint.SPListItem listItem, string fileName)
Signature
vb.net
vb.net
Public Shared Sub Save(ByVal template As ExcelTemplate, ByVal listItem As Microsoft.SharePoint.SPListItem, ByVal fileName As String)
Parameters
Param
template
template

The current ExcelTemplate object which is being saved.

Param
listItem
listItem

SharePoint List Item to which the file is attached

Param
fileName
fileName

Name of the output file. ExcelWriter will save the file to the list item using this name.

Exceptions
Exception
ArgumentNullException
ArgumentNullException

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

Exception
ArgumentException
ArgumentException

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 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.

Note

This is an extension method for the ExcelTemplate object to be used for saving spreadsheets to SharePoint List Items. To use this method, you must add a reference to SoftArtisans.OfficeWriter.ExcelWriter.SharePointIntegration.dll

Example
Code Block
csharp
csharp
titleC#
//--- Retrieve current AllowUnsafeUpdates value
bool currentAllowUnsafeUpdates = list.ParentWeb.AllowUnsafeUpdates;

//--- You must allow unsafe updates in order for the file to be saved in the
//--- List from a web application
list.ParentWeb.AllowUnsafeUpdates = true;
xlt.Save(listItem, "populated.xlsx");

//--- Update the list
listItem.Update();

//--- Return the AllowUnsafeUpdates value to its original state
list.ParentWeb.AllowUnsafeUpdates = currentAllowUnsafeUpdates;
        
Code Block
vb.net
vb.net
titlevb.net
'--- Retrieve current AllowUnsafeUpdates value
Dim currentAllowUnsafeUpdates As Boolean = list.ParentWeb.AllowUnsafeUpdates

'--- You must allow unsafe updates in order for the file to be saved in the
'--- List from a web application
list.ParentWeb.AllowUnsafeUpdates = True
xlt.Save(listItem, "populated.xlsx")

'--- Update the list
listItem.Update()

'--- Return the AllowUnsafeUpdates value to its original state
list.ParentWeb.AllowUnsafeUpdates = currentAllowUnsafeUpdates