如何将数据从Excel粘贴到cxGrid中

我有一个使用DevExpress cxGrid(连接到数据库)的Delphi应用程序。

我需要能够将数据从Excel复制粘贴到网格中。

这可能吗? 如果是这样,如何做到这一点,我需要哪些额外的组件?

Clipboard.HasFormat(CF_TEXT)检查格式。

Clipboard.AsText提取文本。

StringList.Text := Clipboard.AsText分割成几行StringList.Text := Clipboard.AsText 。 string列表中的每个项目现在都是剪贴板中的一行。

使用分割function将每一行分割成单独的单元格:

 function Split(const s: string; Separator: char): TStringDynArray; var i, ItemIndex: Integer; len: Integer; SeparatorCount: Integer; Start: Integer; begin len := Length(s); if len=0 then begin Result := nil; exit; end; SeparatorCount := 0; for i := 1 to len do begin if s[i]=Separator then begin inc(SeparatorCount); end; end; SetLength(Result, SeparatorCount+1); ItemIndex := 0; Start := 1; for i := 1 to len do begin if s[i]=Separator then begin Result[ItemIndex] := Copy(s, Start, i-Start); inc(ItemIndex); Start := i+1; end; end; Result[ItemIndex] := Copy(s, Start, len-Start+1); end; 

从Excel应用程序复制内容后,可以检查剪贴板的内容。 然后在CTRL + V快捷键上parsing剪贴板的内容并将数据设置到它们各自的单元格。