数据库中字段名称是英文的,导出EXCEL能变成中文吗?

NEEZA哪吒 2022-11-15 12:56:32

procedure TForm1.BitBtn1Click(Sender: TObject);
var
  x, y, i, j: integer;
  MsExcel: OleVariant;
begin
  try
    MSExcel := CreateOleObject('Excel.Application');
    MSExcel.Application.Visible := False;
  except
    on Exception do raise Exception.Create('无法打开Xls文件,请确认您的计算机已经安装了EXCEL!');
  end;
  MSEXCEL.WORKBOOKS.ADD;
  x := ADOQuery1.Fieldcount;
  y := ADOQuery1.Recordcount;
  for I := 1 to x do
    MSExcel.cells.item[1, i] := ADOQuery1.Fields[i - 1].Fullname;
  ADOQuery1.First;
  for j := 2 to y + 1 do
  begin
    for i := 1 to x do
    begin
      MSExcel.cells.item[j, i] := ADOQuery1.Fields[i - 1].Value;
    end;
    ADOQuery1.Next;
  end;
  MSExcel.application.Visible := True;

end;

...全文
163 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyhoo163 2022-12-17
  • 打赏
  • 举报
回复

建议改用XLSReadWriteII,建议一个字段中文英文比对表,通过搜索更换。

tanqth 2022-11-15
  • 打赏
  • 举报
回复 1

img


ADOQuery的Fields里,对应每个字段有以上内容。你把显示标签那个属性设置为字段对应的中文名,然后:

MSExcel.cells.item[1, i] := ADOQuery1.Fields[i - 1].DisplayLabel;

NEEZA哪吒 2022-11-15
  • 打赏
  • 举报
回复
MSExcel.cells.item[1, i] := ADOQuery1.Fields[i - 1].Fullname;//这里是不是应该怎么处理一下,才能变成我想要的中文字段

5,557

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧