元接口部分引用comobj单元(uses)\x0d\x0aprocedureTForm1.Button1Click(Sender:TObject)\x0d\x0a\x0d\x0avarexcelx,excely:string\x0d\x0a\x0d\x0abegin\x0d\x0a\x0d\x0atry\x0d\x0a\x0d\x0aExcelApp:=CreateOleObject('Excel.Application')\x0d\x0a\x0d\x0aWorkBook:=ExcelApp.WorkBooks.Open(opendialog.FileName)//使用opendialog对话框指定\x0d\x0a//excel档路径\x0d\x0a\x0d\x0aExcelApp.Visible:=false\x0d\x0a\x0d\x0aExcelRowCount:=WorkBook.WorkSheets[1].UsedRange.Rows.Count\x0d\x0a\x0d\x0afori:=1toexcelrowcount+1do\x0d\x0a\x0d\x0abegin\x0d\x0a\x0d\x0aexcelx:=excelapp.Cells[i,1].Value\x0d\x0a\x0d\x0aexcely:=excelapp.Cells[i,2].Value\x0d\x0a\x0d\x0aif((excelapp.Cells[i,1].Value='')and(ExcelApp.Cells[i,2].Value=''))then\x0d\x0a//指定excel档的第i行,第1,2(看情况而定)行如果
为空就退出,这样的设定,最好是
你的档案力这两行//对应数据库中不能为空的数据\x0d\x0a\x0d\x0aexit\x0d\x0a\x0d\x0aelse\x0d\x0a\x0d\x0awithquery1do\x0d\x0a\x0d\x0abegin\x0d\x0a\x0d\x0aclose\x0d\x0asql.clear\x0d\x0asql.add(insertintotest(name,address)values(:name,:address))\x0d\x0aparambyname('name').asstring:=excelx//excel档的第一列插入到test表的name栏位\x0d\x0aparambyname('address').asstring:=excely//excel档的第二列插入到test表的address栏位\x0d\x0aexecsql\x0d\x0a\x0d\x0aend\x0d\x0a\x0d\x0aend\x0d\x0a\x0d\x0afinally\x0d\x0a\x0d\x0aWorkBook.Close\x0d\x0a\x0d\x0aExcelApp.Quit\x0d\x0a\x0d\x0aExcelApp:=Unassigned\x0d\x0a\x0d\x0aWorkBook:=Unassigned\x0d\x0a\x0d\x0aend\x0d\x0a\x0d\x0aend\x0d\x0a\x0d\x0a上面
的是导到sql中的。oracle应该也差不多的吧。。元接口部分引用 comobj 单元(uses )
procedure TForm1.Button1Click(Sender: TObject)
var excelx,excely : string
begin
try
ExcelApp := CreateOleObject('Excel.Application')
WorkBook := ExcelApp.WorkBooks.Open(opendialog.FileName)//使用opendialog对话框指定
//excel档路径
ExcelApp.Visible := false
ExcelRowCount := WorkBook.WorkSheets[1].UsedRange.Rows.Count
for i := 1 to excelrowcount + 1 do
begin
excelx := excelapp.Cells[i,1].Value
excely := excelapp.Cells[i,2].Value
if ((excelapp.Cells[i,1].Value = '') and (ExcelApp.Cells[i,2].Value = '')) then
//指定excel档的第 i 行 ,第 1,2(看情况而定)行如果为空就退出,这样的设定,最好是你的档案力这两行//对应数据库中不能为空的数据
exit
else
with query1 do
begin
close
sql.clear
sql.add(insert into test(name,address) values(:name,:address))
parambyname('name').asstring := excelx//excel档的第一列插入到test表的 name栏位
parambyname('address').asstring := excely//excel档的第二列插入到test表的 address 栏位
execsql
end
end
finally
WorkBook.Close
ExcelApp.Quit
ExcelApp := Unassigned
WorkBook := Unassigned
end
end
上面的是导到sql 中的。oracle应该也差不多的吧。。
评论列表(0条)