delphi TMS FlexCel Sheet工作表选择和查找

TMS FlexCel Sheet工作表选择和查找

属性和方法

TXlsFile.GetSheetIndex

function GetSheetIndex(const sheetName: string): Integer;
function GetSheetIndex(const sheetName: string; const throwException: Boolean): Integer;

在工作簿上查找工作表名称并返回其索引。

重载

GetSheetIndex(string, Boolean)

根据throwException参数,如果工作表不存在,此方法将引发异常或返回 -1。

GetSheetIndex(string)

如果工作表不存在,它将引发异常。

参数

sheetName 要查找的工作表。

throwException 如果未找到工作表,throwException = true 时将引发异常。throwException = false 时将返回 -1。

返回值

如果工作表存在,则工作表索引,否则抛出异常。

TXlsFile.GetSheetSelected

function GetSheetSelected(const sheetIndex: Integer): Boolean;

如果选择了工作表,则返回 true,否则返回 false。

请注意,在Excel中可以通过按住shift或ctrl键单击工作表选项卡来选择许多工作表。另请注意,当更改 TExcelFile.ActiveSheet 时,选中的工作表将重置为活动工作表。因此,如果您想找出文件中选择了哪些工作表,您应该在打开文件后,但在更改活动工作表之前调用此方法。

参数

sheetIndex 工作表索引(从1开始)。

TXlsFile.SetSheetSelected

procedure SetSheetSelected(const sheetIndex: Integer; const selected: Boolean); override;

此方法会将工作表选项卡设置为选中状态。

请注意,这与 TExcelFile.ActiveSheet 的不同之处在于您可能只有一个活动工作表,但可以通过按住ctrl键单击多个选项卡来选择它们。 另请注意,当更改 TExcelFile.ActiveSheet 时,选中的工作表将重置为活动工作表。 因此,如果要保存包含多个选中工作表的文件,则应在最后一次调用 TExcelFile.ActiveSheet之后调用此方法。

参数

sheetIndex 工作表索引(从1开始)。

selected 如果为 true,则将选择工作表,否则将取消选择工作表。

例子

查找和选中

procedure TForm1.Button14Click(Sender: TObject);
var
  Xls: TXlsFile;
  SheetIndex: Integer;
begin
  //读取Excel文件
  Xls := TXlsFile.Create('C:\Users\Administrator\Desktop\ceshi.xlsx');
  try
    //根据Sheet名称查找对应索引
    SheetIndex := Xls.GetSheetIndex('Sheet3', False);
    if SheetIndex = -1 then
    begin
      Memo1.Lines.Add('Sheet3的未找到');
    end
    else
    begin
      Memo1.Lines.Add('Sheet3的索引' + SheetIndex.ToString);
    end;

    //判断是否选中
    if Xls.GetSheetSelected(SheetIndex) then
      Memo1.Lines.Add('选中')
    else
      Memo1.Lines.Add('没选中');
    //设置前2个Sheet为选中
    Xls.SetSheetSelected(1, True);
    Xls.SetSheetSelected(2, True);
    //保存文件
    Xls.Save('C:\Users\Administrator\Desktop\ceshi1.xlsx');
  finally
    Xls.Free;
  end;
end;
posted @ 2022-08-23 09:33  txgh  阅读(293)  评论(0编辑  收藏  举报