表A1
和数据库B为例
表B1
将A数据库中A1表导入到B数据库B1表中
SQL
SERVER
在B数据库下
打开查询分析器
INSERT
INTO
B1(B1.COL1,B1.COL2)
SELECT
A1.COL1,A1.COL1
FROM
A.DBO.A1
WHERE
条件
摁
F5
就完成了。
ORALCE
INSERT
INTO
B1@数据库database
link(B1.COL1,B1.COL2)
SELECT
A1.COL1,A1.COL1
FROM
A1@数据库database
link
WHERE
条件
以下是完整的导入数据的代码:这个要求就是需要使EXCEL的标题和数据窗口的标题对应,EXCEL从第二行开始导入。如果是某些内容,那么要换一种别的方式。string str_savename,named
int excelok,li_net
oleobject excelserver
excelserver=create oleobject
excelok=excelserver.connecttonewobject("excel.application")
//检查返回值,以确保已成功地连接到了Excel
if excelok <>0 then
messagebox("信息提示","连接EXCEL失败,请检查计算机中是否安装了EXCEL!")
return
end if
li_net = GetFileOpenName("选择文件", str_savename,named,"xls","Excel文件(*.xls),*.xls")
if li_net >0 then
if str_savename = "" then return
excelserver.workbooks.open(str_savename)
excelserver.activesheet.cells.copy
dw_1.importclipboard(2) //导入数据 dw_1是数据窗口名字,改成你的名字
clipboard("")
excelserver.quit()
excelserver.disconnectobject()
destroy excelserver
end if
如果只导入EXCEL的某些内容,可以用如下代码:
string ls_tmp
IF GetFileOpenName("选择文件 ", ls_Path, ls_File, "XLS", "Excel Files (*.XLS),*.XLS, Comma-separated values (*.CSV),*.csv") <0 THEN
Messagebox('文件导入', '获取文件失败!', StopSign!)
return
END IF
// === 判断档案是否存在
IF FileExists(ls_Path) = False THEN return
// === 判断是否为Excel档案
IF Lower(Right(ls_Path, 4)) <>'.xls' AND Lower(Right(ls_Path, 4)) <>'.csv'THEN
MessageBox('文件导入', '并非可选择的文件!', StopSign!)
return
END IF
oXls = CREATE OleObject
ll_Xls = oXls.ConnectToObject('','excel.application')
CHOOSE CASE ll_Xls
Case -5
// === 文件还没打开
oXls.ConnectToNewObject('excel.application')
Case Is <0
DESTROY oXls
MessageBox('文件导入', '无法开启指定的文件!', StopSign!)
return
END CHOOSE
Long ll_Row, curRow
Decimal ld_Tmp
curRow = 2 //设置从EXCEL的第二行开始导入
oBook = oXls.WorkBooks.Open(ls_Path)
oSheet = oXls.Sheets(1)
DO WHILE True
ls_value = oSheet.Cells(curRow, 1).Value //读取excel的内容放到变量中,cells(行,列)
IF ls_value = '' THEN Exit //如果遇到空,表示已经导入完成
ll_Row = dw_1.InsertRow(0) //给数据窗口增加行
dw_1.setitem() ...
curRow ++
LOOP
oBook.Close
DESTROY oSheet
DESTROY oBook
IF ll_Xls = -5 THEN oXls.Application.Quit
oXls.DisConnectObject()
DESTROY oXls
ASP.NET中将Excel表中的数据导入到数据库中的方法是利用可视化界面工具直接选择字段映射导入。1)接受数据导入的表已经存在。
insert into t1 select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,
'Excel 5.0HDR=YESDATABASE=c:\\test.xls',sheet1$)
2)导入数据并生成表。
select * into t1 from OPENROWSET('MICROSOFT.JET.OLEDB.4.0',
'Excel 5.0HDR=YESDATABASE=c:\\test.xls',sheet1$)
3) 导入Excel中指定的列到数据库表中指定的列。
INSERT INTO t1(a1,a2,a3) SELECT a1,a2,a3 FROM OPENROWSET'MICROSOFT.JET.OLEDB.4.0' ,'Excel5.0HDR=YESDATABASE=c:\\test.xls',sheet1$)
需要注意的地方。
1)外围应用配置器的设置。
从“功能外围应用配置器”中选择“启动 OPENROWSET 和 OPENDATASOURCE 支持”选项。
2)关闭Excel表。
如果在导入时要导入的Excel表格处于打开状态,会提示:
“无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "microsoft.jet.oledb.4.0" 的数据源对象。”
3)导入数据时,Excel的首行会作为表头,若导入到已存在的数据库表,则忽略首行。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)