如何读入电子表格中的数据?(50分)

Y

yourid

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一些excel格式的数据需要读出其中的数据,然后入库,想知道用什么控件?
或者有什么好的方法可以实现编程读入数据,而不必手工一个个的输入。
这些电子表格的数据格式全是一样的。
 
请说得详细些
 
数据表内容导入excel
Excelapplication1.connect;
Excelapplication1.Workbooks.Add(null,0);
Excelworkbook1.connectto(excelapplication1.workbooks[1]);
Excelworksheet1.connectto(excelworkbook1.sheets[1] as _worksheet);
FieldCounts:=DBGrid1.FieldCount;
//记录数据表字段名
For j:=0 to FieldCounts-1 do
Excelworksheet1.Cells.Item[1,j+1]:=
DBGrid1.Fields[j].FieldName;
//记录数据表数据
i:=2;
Query1.First;
While not Query1.Eof do
Begin
For j:=0 to FieldCounts-1 do
Excelworksheet1.Cells.Item[i,j+1]:=Query1.Fields[j].Value;
i:=i+1;
Query1.Next;
End;
Excelworksheet1.SaveAs(Filename_Label.Caption);
Output_Btn.Enabled:=False;
Query1.First;
excel可以通过ado直接调用

Excelworkbook1.Close;
ExcelApplication1.Quit;
 
顺便指出Excelapplication、Excelworkbook、Excelworksheet是标准控件
:D
 
to 小豆豆龙
你的方法是把DBGrid的结果导入电子表格中,我是想实现:
“excel格式的数据需要读出其中的数据,然后入库”
读电子表格中的数据,而其中有些数据可能是不必要的呀。
 
读入是差不多的,你逆过来试试就是了
 
Ado就可以了
已经成功
97的用jet3.5
2000的用Jet40
object ADOConnection1: TADOConnection
ConnectionString = 'FILE NAME=E:/Program/Local_Document/Document.udl'
ConnectionTimeout = 30
LoginPrompt = False
Mode = cmShareDenyNone
Provider = 'Microsoft.Jet.OLEDB.4.0'
Left = 56
Top = 16
end
供参考
 
上面的发错了,不好意思
 
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:/Program/Conton/TelBook/Book5.xls;Mode=Share Deny None;Extended Properties=Excel 8.0;Persist Security Info=False
这个才是正确的联接字符串
 
多人接受答案了。
 
顶部