ExcelFile.Save Method

Applies to TestComplete 15.45, last modified on December 01, 2022

Note: To work with Excel files in your tests, you do not need to have Microsoft Office Excel installed on your computer.

Description

The ExcelFile.Save method saves the current modified Excel file. Alternatively, you can use the SaveAs method to save the modified file with another name.

If you do not call the Save or SaveAs method of the ExcelFile object, all the changes will be lost.

Declaration

ExcelFile.Save()

Result None

Applies To

The method is applied to the following object:

Result Value

None.

Example

The code below demonstrates how you can use the ExcelFile.Save method in your script:

JavaScript, JScript

function ExcelExample()
{
  // Get the data that will be written into an Excel file
  var curTime = aqDateTime.Now();
  var cpu = Sys.CPUUsage;

  var fileName = "C:\\temp\\MyFile.xlsx";

  if (aqFile.Exists(fileName))
  {
    // Open the existing Excel file
    var excelFile = Excel.Open(fileName);

    if (excelFile.SheetCount > 0)
    {
    // Get the first sheet of the Excel file
    var excelSheet = excelFile.SheetByIndex(0);

    // Write the data into a new row of the Excel file
    var rowIndex = excelSheet.RowCount + 1;
    excelSheet.Cell("A", rowIndex).Value = curTime;
    excelSheet.Cell(2, rowIndex).Value = cpu;
    }
    else
    {
      Log.Error(aqString.Format("The %s Excel file does not contain any sheets.", fileName));
    }
  }
  else
  {
    // Create a new Excel file and add a new empty sheet to it
    Log.Message(aqString.Format("The %s file does not exist and will be created.", fileName));
    excelFile = Excel.Create(fileName);
    excelSheet = excelFile.AddSheet("Sheet1");

    // Write the data into the first row of the created file
    excelSheet.Cell("A", 1).Value = curTime;
    excelSheet.Cell(2, 1).Value = cpu;
  }

  // Save the file to apply the changes
  excelFile.Save();
}

Python

def ExcelExample():
  # Get the data that will be written into an Excel file
  curTime = aqDateTime.Now()
  cpu = Sys.CPUUsage

  fileName = "C:\\temp\\MyFile.xlsx"

  if (aqFile.Exists(fileName)):
    # Open the existing Excel file
    excelFile = Excel.Open(fileName)

    if (excelFile.SheetCount > 0):
      # Get the first sheet of the Excel file
      excelSheet = excelFile.SheetByIndex[0]

      # Write the data into a new row of the Excel file
      rowIndex = excelSheet.RowCount + 1
      excelSheet.Cell["A", rowIndex].Value = curTime
      excelSheet.Cell[2, rowIndex].Value = cpu
    else:
      Log.Error(aqString.Format("The %s Excel file does not contain any sheets.", fileName))
  else:
    # Create a new Excel file and add a new empty sheet to it
    Log.Message(aqString.Format("The %s file does not exist and will be created.", fileName))
    excelFile = Excel.Create(fileName)
    excelSheet = excelFile.AddSheet("Sheet1")

    # Write the data into the first row of the created file
    excelSheet.Cell["A", 1].Value = curTime
    excelSheet.Cell[2, 1].Value = cpu

  # Save the file to apply the changes
  excelFile.Save()

VBScript

Sub ExcelExample()

  ' Get the data that will be written into an Excel file
  Set curTime = aqDateTime.Now()
  cpu = Sys.CPUUsage

  fileName = "C:\\temp\\MyFile.xlsx"

  If aqFile.Exists(fileName) Then
    ' Open the existing Excel file
    Set excelFile = Excel.Open(fileName)

    If excelFile.SheetCount > 0 Then
    ' Get the first sheet of the Excel file
    Set excelSheet = excelFile.SheetByIndex(0)

    ' Write the data into a new row of the Excel file
    rowIndex = excelSheet.RowCount + 1
    excelSheet.Cell("A", rowIndex).Value = curTime
    excelSheet.Cell(2, rowIndex).Value = cpu
    Else
      Log.Error(aqString.Format("The %s Excel file does not contain any sheets.", fileName))
    End If
  Else
    ' Create a new Excel file and add a new empty sheet to it
    Log.Message(aqString.Format("The %s file does not exist and will be created.", fileName))
    Set excelFile = Excel.Create(fileName)
    Set excelSheet = excelFile.AddSheet("Sheet1")

    ' Write the data into the first row of the created file
    excelSheet.Cell("A", 1).Value = curTime
    excelSheet.Cell(2, 1).Value = cpu
  End If

  ' Save the file to apply the changes
  excelFile.Save()
End Sub

DelphiScript

procedure ExcelExample();
var curTime, cpu, fileName, excelFile, excelSheet, rowIndex;
begin
  // Get the data that will be written into an Excel file
  curTime := aqDateTime.Now();
  cpu := Sys.CPUUsage;

  fileName := 'C:\\temp\\MyFile.xlsx';

  if aqFile.Exists(fileName) then
  begin
    // Open the existing Excel file
    excelFile := Excel.Open(fileName);

    if excelFile.SheetCount > 0 then
    begin
    // Get the first sheet of the Excel file
    excelSheet := excelFile.SheetByIndex(0);

    // Write the data into a new row of the Excel file
    rowIndex := excelSheet.RowCount + 1;
    excelSheet.Cell('A', rowIndex).Value := curTime;
    excelSheet.Cell(2, rowIndex).Value := cpu;
    end
    else
      Log.Error(aqString.Format('The %s Excel file does not contain any sheets.', fileName));
  end
  else
  begin
    // Create a new Excel file and add a new empty sheet to it
    Log.Message(aqString.Format('The %s file does not exist and will be created.', fileName));
    excelFile := Excel.Create(fileName);
    excelSheet := excelFile.AddSheet('Sheet1');

    // Write the data into the first row of the created file
    excelSheet.Cell('A', 1).Value := curTime;
    excelSheet.Cell(2, 1).Value := cpu;
  end;

  // Save the file to apply the changes
  excelFile.Save();
end;

C++Script, C#Script

function ExcelExample()
{
  // Get the data that will be written into an Excel file
  var curTime = aqDateTime.Now();
  var cpu = Sys.CPUUsage;

  var fileName = "C:\\temp\\MyFile.xlsx";

  if (aqFile["Exists"](fileName))
  {
    // Open the existing Excel file
    var excelFile = Excel["Open"](fileName);

    if (excelFile["SheetCount"] > 0)
    {
    // Get the first sheet of the Excel file
    var excelSheet = excelFile["SheetByIndex"](0);

    // Write the data into a new row of the Excel file
    var rowIndex = excelSheet["RowCount"] + 1;
    excelSheet["Cell"]("A", rowIndex)["Value"] = curTime;
    excelSheet["Cell"](2, rowIndex)["Value"] = cpu;
    }
    else
    {
      Log["Error"](aqString["Format"]("The %s Excel file does not contain any sheets.", fileName));
    }
  }
  else
  {
    // Create a new Excel file and add a new empty sheet to it
    Log["Message"](aqString["Format"]("The %s file does not exist and will be created.", fileName));
    excelFile = Excel["Create"](fileName);
    excelSheet = excelFile["AddSheet"]("Sheet1");

    // Write the data into the first row of the created file
    excelSheet["Cell"]("A", 1)["Value"] = curTime;
    excelSheet["Cell"](2, 1)["Value"] = cpu;
  }

  // Save the file to apply the changes
  excelFile["Save"]();
}

See Also

ExcelFile Object
Working with Microsoft Excel Files

Highlight search results