可以在odbc中新建一个excel的数据源,然后就可以在BDE中连接了
解决方案 »
- 获取IE内核浏览器当前URL,并在URL中插入JS代码执行
- 怎么老出现这条错误
- 100分的问题,关于事件传递的问题。提示空地址的错误
- 如何将SQL SERVER数据库中的bit字段在DBGRid中显示为“是”或“否”?
- 创建TBitmap类时怎么修改其颜色
- 2个问题,50fen
- 请教条码扫描,打印的问题 有经验者请进
- 这是一个什么样的控件?
- 高薪诚聘Delphi高级程序员
- 请教各位,调试窗体的关闭时出现error"project XXX.ext raised exception class EstackOverflow with message"Stack Overflow"是怎么回事?"怎么解决?
- 急急急!!!!一个十分奇怪的问题。
- Give me a hand, please!
var
vTemplate: OleVariant;
begin
with TExcelApplication.Create(nil) do try
Disconnect;
Connect;
Visible[0] := True;
vTemplate := EmptyParam;
Workbooks.Add(vTemplate, 0);
Disconnect;
finally
Free;
end;
end;
若在EXCEL中选中一片区,命名为ABC,则在ADO中TABLE名就是ABC
excel,sheet:variant;
begin
excel:=createoleobject('Excel.application');// 建立Excel自动化服务器连接在
// 这里,'Excel.application'是自动化服务器名称,你可以在注册
//表中找到
excel.workbooks.add; //添加一个工作簿;
excel.visible:=true; //把后台的excel调入前台。
//前面的工作是Delphi的进程内服务器的调用方式,有时间可以看Delphi的Com
sheet:=excel.activeworkbook; //设定当前工作簿。
sheet.cell[1,1]:='Hello !' //给第一格赋值.
end;
其它的参数还很多,你自己找把。可以在sohu中输入'控制Excel'搜索。
var
I,J : integer;
TxtFile : TextFile;
TmpString : String;
begin
try
if VarIsEmpty(XlsApp) then
XlsApp := CreateOleObject('Excel.Application');
XlsSheet := XlsApp.workbooks.open('c:\my documents\book3.xls'); AssignFile(TxtFile,'C:\My Documents\Test.txt');
Rewrite(TxtFile);
try
for I := 3 to 21 do
begin
TmpString := '';
for J := 1 to 5 do
begin
TmpString := TmpString + XlsSheet.ActiveSheet.Cells[I,J].Text + '|';
end;
Writeln(TxtFile,Tmpstring);
end;
finally
CloseFile(TxtFile);
end;
XlsApp.Visible := true;
except
XlsSheet.close;
XlsApp.Application.quit;
XlsApp := Unassigned;
XlsSheet := Unassigned;
end;
end;以上是从excel中读取数据并写入文本文件的例子,请参考
问题的关键在于:对于EXCEL来说,Table控件中的表名指的EXCEL工作簿中某一区域的名字,
可以用ODBC和Database控件连接EXCEL文件,具体方法
新建一ODBC数据源,注意选择EXCEL工作簿,如果要对其进行读写操作,则应点击OPTIONS按钮,将readonly属性设置为无效,ODBC数据源建立好后,Database控件中设置ODBC DSN为刚才建立的ODBC数据源名字,连好数据库后,就可以用Table控件选择相应的表(其实是EXCEL工作簿中某一区域的名字)进行操作了
这样就可以了
给某一片区域命名的时候这样做:
1。选中一片区域
2。选“插入”菜单下的“名称”——》“定义”——》在“在当前工作簿中的名称”处添上你起的名字比如BBB
3。对于Table控件的各个属性,注意DATABASENAME属性设置成前面说的连了ODBC数据源的DATABASE控件中你取的数据库别名,TABLENAME属性设置成前面取的在当前工作簿中的名称BBB
这样就完全搞定了,有问题再问就是了
如果问题没有解决,最好就存疑,等其他人来给你解决。
或者声明一下,
一声不响地把分加给自己,别人会觉得你有作弊嫌疑。
忠言逆耳,不过还是请君考虑:)