ExcelService.SetCell Method
Sets a value or formula into a cell.
Namespace: Microsoft.Office.Excel.Server.WebServices
Assembly: Microsoft.Office.Excel.Server.WebServices (in Microsoft.Office.Excel.Server.WebServices.dll)
Syntax
'Declaration
<WebMethodAttribute> _
Public Sub SetCell ( _
sessionId As String, _
sheetName As String, _
row As Integer, _
column As Integer, _
cellValue As Object, _
<OutAttribute> ByRef status As Status() _
)
'Usage
Dim instance As ExcelService
Dim sessionId As String
Dim sheetName As String
Dim row As Integer
Dim column As Integer
Dim cellValue As Object
Dim status As Status()
instance.SetCell(sessionId, sheetName, _
row, column, cellValue, status)
[WebMethodAttribute]
public void SetCell(
string sessionId,
string sheetName,
int row,
int column,
Object cellValue,
out Status[] status
)
Parameters
sessionId
Type: System.StringThe Excel Web Services session ID.
sheetName
Type: System.StringThe name of the sheet that you want to reference. Sheet name length is limited to 31 characters.
row
Type: System.Int32Cell's row, 0-based.
column
Type: System.Int32Cell's column, 0-based.
cellValue
Type: System.ObjectValue for the cell being set.
status
Type: []Alert information.
Remarks
Sets a value (number or text) or formula into a cell in the open workbook, using numeric cell coordinates to select the range. Setting a value or a formula into a cell replaces the previous value or formula, but does not affect the formatting of the cell.
Setting a formula into a cell requires open item or edit item permissions and is supported in view and edit mode. You will get a formula editing not enabled alert if you attempt to set a formula into a cell in view mode with only view item permission.
If you are setting values to multiple adjacent cells, you may want to consider using the SetRange method instead of making multiple calls to the SetCell method. This would result in a single roundtrip to the server instead of multiple roundtrips. It may also result in fewer calculation steps. Therefore, in some cases, you may gain a noticeable performance improvement by using the SetRange method instead of the SetCell method.
Examples
//Instantiate the Web service and make a status array object
ExcelService xlservice = new ExcelService();
Status[] outStatus;
string sheetName = "Sheet1";
//Using workbookPath this way will allow
//you to call the workbook remotely.
string targetWorkbookPath = "http://myserver02/example/Shared%20Documents/Book1.xlsx";
//Set Credentials for requests
xlservice.Credentials = System.Net.CredentialCache.DefaultCredentials;
try
{
//Call open workbook, and point to the trusted
//location of the workbook to open.
string sessionId = xlservice.OpenWorkbook(targetWorkbookPath, "en-US", "en-US", out outStatus);
//Set the cell in the first row, tenth column, to 200
xlservice.SetCell(sessionId, sheetName, 0, 9, 200);
//Close workbook. This also closes session.
xlservice.CloseWorkbook(sessionId);
}
catch (SoapException e)
{
Console.WriteLine("Exception Message: {0}", e.Message);
}