Delphi程序里,能不能在不打开Excel文件的情况下,直接读取Excel文件里的选区数据?
(注意,前提:仅仅启动Excel应用,而不在Excel里打开该文件,Delphi程序能读取其数据吗?)以前我用Lotus123时,就可以。现在改用Excel,不知道Excel这点怎样?请各位给点提示
(注意,前提:仅仅启动Excel应用,而不在Excel里打开该文件,Delphi程序能读取其数据吗?)以前我用Lotus123时,就可以。现在改用Excel,不知道Excel这点怎样?请各位给点提示
解决方案 »
- 得到JPG图像的象素位置(图片真实点坐标)
- Tquery SQL 访问数据库的问题
- 看谁~能解决这个捆饶我好久的数据库查询速度和超时问题!!!!!!!!!!专家进来啊~~~~~~~~~``
- 散分!!谁有对被删除的文件进行恢复的例子或源程序?
- 请问一下delphi如何知道我要引用什么
- 有关IE问题 类似NetSpider 网络蜘蛛
- delphi 串口监控 dll
- 函数调用的问题
- web service连接问题
- 为什么我用assignprn(pfile,'LPT1'); 报错呢
- MSCOMM和SPCOMM有什么不同?另求串口监控的实现方法
- 问一个经典的问题,如何在保存前 判断AdoDataSet里面的非空字段
可以不显示。Visible设置为False就不显示了。
var
s: TStrings;
begin
OpenDialog1.Filter := 'Excel 文件(*.xls)|*.xls';
if OpenDialog1.Execute then
begin
s := TStringList.Create;
ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Password="";Data Source=' + OpenDialog1.FileName + ';Extended Properties=excel 8.0;Persist Security Info=True';
ADOConnection1.LoginPrompt := False;
ADOConnection1.Connected := True;
ADOConnection1.GetTableNames(s);
ADODataSet1.Connection := ADOConnection1;
ADODataSet1.CommandText := 'select * from [' + s[0] + ']';
//s[0]通常是'Sheet1$', 代表第一页,为了安全字符串中的 [] 应该保留去掉,因为'select * from Sheet1$'的SQL会报错,而为'select * from [Sheet1$]'不会
ADODataSet1.Open;
//ADODataSet1中即为Excel文件中的数据,文件第1行为FieldName,其他为数据
s.Free;
end;
end;
...
xlsw: TXLSReadWriteII2;
xlsr: TXLSDbRead2;
...
xlsw.Read;
with xlsw.Sheets.Items[0],mycard do //第一个sheet
begin
for r:=起始行 to 终止行(LastRow为最后一行) do
begin
varval:= AsString[列,r];
...
end;
end;