加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 以excel格式将多个单元格从网格复制到剪贴板?

发布时间:2020-12-15 09:25:10 所属栏目:大数据 来源:网络整理
导读:我正在开发一种工具,它连接到SQL数据库,获取数据集,并在网格中显示该数据.用户必须能够选择一个单元格块(只是矩形)并按CTRL C将其复制到剪贴板. 我该怎么做呢: 以可以粘贴到Excel的格式?我希望已经有一些现成的东西.它不需要Excel之类的所有剪贴板功能,只
我正在开发一种工具,它连接到SQL数据库,获取数据集,并在网格中显示该数据.用户必须能够选择一个单元格块(只是矩形)并按CTRL C将其复制到剪贴板.

我该怎么做呢:

>以可以粘贴到Excel的格式?我希望已经有一些现成的东西.它不需要Excel之类的所有剪贴板功能,只需突出显示一组矩形单元格并将其复制到剪贴板即可.
>如果可以在TStringGrid中完成,我宁愿保留我的功能,但也可以使用支持它的组件.

解决方法

您可以尝试将单元格值复制为 TAB delimited text,类似于以下代码:

procedure TForm1.Button1Click(Sender: TObject);
var
  S: string;
  X,Y: Integer;
begin
  S := '';
  for Y := StringGrid1.Selection.Top to StringGrid1.Selection.Bottom do
  begin
    for X := StringGrid1.Selection.Left to StringGrid1.Selection.Right - 1 do
      S := S + StringGrid1.Cells[X,Y] + #9;
    S := S + StringGrid1.Cells[StringGrid1.Selection.Right,Y] + sLineBreak;
  end;
  Delete(S,Length(S) - Length(sLineBreak) + 1,Length(sLineBreak));
  Clipboard.AsText := S;
end;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读