在用Ado打开Excel文件时,
excel中的每一张sheet则做为一个表来处理,
当sheet的名称出现中文时,
adoConnection读出的该excel文件中表名则为
'5月份$', 其中含有单引号
非中文名称的sheet表则映射为 sheet5$ 并不包含单引号
问题就在于使用Adoquery查询时,若将'5月份$'作为表名代入SQL查询语句
一律报错, 非中文表名例如sheet5$, 则可以正常查询!请问各位,这个问题该如何解决?!
excel中的每一张sheet则做为一个表来处理,
当sheet的名称出现中文时,
adoConnection读出的该excel文件中表名则为
'5月份$', 其中含有单引号
非中文名称的sheet表则映射为 sheet5$ 并不包含单引号
问题就在于使用Adoquery查询时,若将'5月份$'作为表名代入SQL查询语句
一律报错, 非中文表名例如sheet5$, 则可以正常查询!请问各位,这个问题该如何解决?!
解决方案 »
- 关于一个Delphi access DBGrid 人员岗位安排问题,请达人们解惑,谢谢!!!!!!!!
- 如何查找IE浏览器上所有的flash和图片文件的 路径?如 迅雷
- 请教如何用delphi程序在windows2003中创建系统帐户
- 北大的校园bbs里看到一篇触动很大的文章(转载)
- 急需救援: 怎样用sql对加密的表建立和删除索引呀
- 非常简单的问题!!!!!!!!!!!!!!!!!!!!
- 关于已经开发的产品软件提成问题?
- Delphi中如何操作Word的复选框窗体,简单问题,50分求教
- 灰鸽子加入功能编写新问题
- 谁有自动检测邮箱的代码,我想自己编一个自己用.
- 我用ADO连接数据库,现在要插入数据。救命啊
- 我想知道两个结构相同的A.db,B.db文件,如果要把B.db全部导入到A.db中,如何写命令啊?
var
Range:excelrange;
i,j,k:integer;
letter:char;
begin
if datasource1.DataSet=nil then showmessage('没有内容可以导入Excel!')
else begin
try
try
excelapplication1.Connect;
except
showmessage('您的机器没有安装Excel!');
abort;
end;
excelapplication1.Visible[0]:=true;
excelapplication1.Caption:='送修内容';
excelapplication1.Workbooks.Add(NUll,0); k:=datasource1.DataSet.FieldCount-4; if datasource1.DataSet.Fields[k].DisplayLabel='COUNT OF 局名' then
k:=4
else k:=0; i:=65+datasource1.DataSet.FieldCount-1-k;
letter:=char(i); range:=excelapplication1.Range['A1',letter+'1']; for i:=0 to datasource1.DataSet.FieldCount-1-k do
begin
range.Value:=datasource1.DataSet.Fields[i].DisplayLabel;
range:=range.Next;
end;
if k=4 then begin
range.Value:='数量';
dec(k);
end;
datasource1.DataSet.First; for i:=1 to datasource1.DataSet.RecordCount do begin
range:=excelapplication1.Range['A'+inttostr(i+1),letter+inttostr(i+1)];
for j:=0 to datasource1.DataSet.FieldCount-1-k do begin
range.Value:=datasource1.DataSet.Fields[j].AsString ;
range:=range.Next;
end;
datasource1.DataSet.Next;
end; except
excelapplication1.Disconnect;
end; end;
end;