使用控件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;