Lazarus读写excel

使用控件fpspreadsheet,可以在线安装

var
  MyWorkbook: TsWorkbook;
  foundWorksheet: TsWorksheet;
  foundRow, foundCol: cardinal;
  MySearchParams: TsSearchParams;
  AFileName, CellValue: string;
  Px: integer;
begin
  MyWorkbook := TsWorkbook.Create;
  AFileName := '初中报名花名册0922.xls';
  try
    //myworkbook.FileName:=aFilename;

    MyWorkbook.ReadFromFile(AFileName);
    foundWorksheet := MyWorkbook.GetWorksheetByName('Sheet1');
    Px := 1;
    CellValue := foundWorksheet.ReadAsText(Px, 3);
    QuestionMemo.Lines.Clear;
    while CellValue <> '' do
    begin
      QuestionMemo.Lines.Add(CellValue);
      CellValue := foundWorksheet.ReadAsText(Px, 3);//Px行,3指第三列

      Inc(Px);
    end;
    foundWorksheet.WriteCellValueAsString(4244, 3, Edit1.Text);//写入测试
    MyWorkbook.WriteToFile(AFileName, True);//true,强制写入
    //下面是源码里的示例 Specify search criteria
    {MySearchParams.SearchText := 'Hallo';
    MySearchParams.Options := [soEntireDocument];
    MySearchParams.Within := swWorkbook;//}

    // or: MySearchParaams := InitSearchParams('Hallo', [soEntireDocument], swWorkbook);

    // Create search engine and execute search
    //with TsSearchEngine.Create(MyWorkbook) do begin
    //if FindFirst(MySearchParams, foundWorksheet, foundRow, foundCol) then begin
    // WriteLn('First "', MySearchparams.SearchText, '" found in cell ', GetCellString(foundRow, foundCol), ' of worksheet ', foundWorksheet.Name);
    //while FindNext(MySeachParams, foundWorksheet, foundRow, foundCol) do
    //   //  WriteLn('Next "', MySearchParams.SearchText, '" found in cell ', GetCellString(foundRow, foundCol), ' of worksheet ', foundWorksheet.Name);
    //    end;
    // Free;
    // end;
  finally
    MyWorkbook.Free;
  end;                                                 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值