======又见excel问题 (老板生气了 后果很严重)======
表h_user中有id company b_id s_id addtime
表search中有id m_id b_id s_id addtime
excel 表中的字段有company b_id s_id time 注:是office中的excel
我现在想实现这样的功能
如果h_user表为空则excel表中的数据到入到h_user中 然后在从h_user中插入到search表中
如果h_user不为空则判断excel中company这个字段的数据是否与h_user中的company这个字段的数据相同,如果相同则将h_user中的b_id s_id addtime 覆盖 company这个字段不用覆盖 然后插入到excel中,如果excel中的数据h_user中没有则先到入到h_user中 然后在从h_user中插入到search表中
最后输出共导入多少条数据 其中有多少条相同 有多少条不同
注:导入时字段的对应
excel表 company b_id s_id time
数据表h_user id company b_id s_id addtime
数据表search id m_id b_id s_id addtime
h_user插入search 其中 h_user的id值导入search中的m_id
问题点数:100、回复次数:39Top
1 楼lishuai818(李坏)回复于 2005-07-29 11:23:17 得分 0
希望大家多多帮忙 小弟先谢过大家了Top
2 楼ice241018(力挽狂澜)回复于 2005-07-29 11:28:03 得分 20
帮你顶吧,兄弟.
顺便学习
heheTop
3 楼sbdx(塞北的雪)回复于 2005-07-29 11:28:03 得分 20
多加几个判断就可以了Top
4 楼lishuai818(李坏)回复于 2005-07-29 11:29:45 得分 0
哪位能提供一下代码 谢谢Top
5 楼lishuai818(李坏)回复于 2005-07-29 11:33:13 得分 0
这个问题要是解决不了 估计要走人了......Top
6 楼tigerwen01(小虎)回复于 2005-07-29 11:37:34 得分 20
参考http://61.186.252.131/Expert/topic/2301/2301258.xml?temp=5.451602E-02Top
7 楼sbdx(塞北的雪)回复于 2005-07-29 11:39:09 得分 0
给个代码,参考一下吧,前几天弄的。
<%
on error resume next
Set xlApp = server.CreateObject("Excel.Application")
strsource = Server.MapPath("2005.xls")
Set xlbook = xlApp.Workbooks.Open(strsource)
Set xlsheet = xlbook.Worksheets(1)
i=1
set conn=Server.createObject("Adodb.connection")
connstr="Driver={Microsoft Access driver (*.mdb)};DBQ="&Server.MapPath("data.mdb")
conn.open connstr
set rs=Server.CreateObject("Adodb.Recordset")
rs.open "select * from qiyemulu",conn,1,3
i=1
while xlsheet.cells(i,1)<>""
rs.addnew
rs("company")=xlsheet.Cells(i,2)
rs("jili")=xlsheet.Cells(i,3)
rs("tel")=xlsheet.Cells(i,6)
rs("fax")=xlsheet.Cells(i,12)
rs("add")=xlsheet.Cells(i,4)
rs("time")=date
rs("counter")=0
rs("tdmj")=xlsheet.Cells(i,13)
rs("zczb")=xlsheet.Cells(i,14)
rs.update
i=i+1
wend
'response.write "<table cellpadding=0 cellspacing=0 border=1 width='100%'>"
'while xlsheet.cells(i,1)<>""
' response.write "<tr>"
' for j=1 to 18
' response.write " <td height=20 align=center>" & xlsheet.Cells(i, j) & "</td>"
' next
' response.write "</tr>"
' i=i+1
'wend
'response.write "</table>"
'response.write "共计:"&i&"行"
set xlsheet=nothing
set xlbook=nothing
xlApp.quit
conn.close
set conn=nothing
rs.close
set rs=nothing
response.write("Done.")
%>Top
8 楼lishuai818(李坏)回复于 2005-07-29 11:41:41 得分 0
楼上的是和我这个反了Top
9 楼lishuai818(李坏)回复于 2005-07-29 11:51:58 得分 0
顶!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!11Top
10 楼lishuai818(李坏)回复于 2005-07-29 11:56:16 得分 0
我狂顶!!!!!!!!!!!!!!!!!!!!!!!1Top
11 楼iexapl(飞龙侠客)回复于 2005-07-29 12:11:15 得分 5
UPTop
12 楼runtu(闰土/无锡)回复于 2005-07-29 12:52:48 得分 5
MARK~Top
13 楼ice241018(力挽狂澜)回复于 2005-07-29 12:59:59 得分 0
友情顶Top
14 楼lishuai818(李坏)回复于 2005-07-29 13:10:56 得分 0
偶顶 希望大家来帮忙Top
15 楼championmajian(小马||目前酒力:白的半斤,啤的3瓶)回复于 2005-07-29 13:17:54 得分 5
mark!Top
16 楼lishuai818(李坏)回复于 2005-07-29 13:46:54 得分 0
希望 狼哥进来帮一下Top
17 楼ice241018(力挽狂澜)回复于 2005-07-29 14:07:56 得分 0
友情顶。。。
Top
18 楼ice241018(力挽狂澜)回复于 2005-07-29 14:10:53 得分 0
各位大哥,走过路过,不能错过,能出力就出力,不能出力就帮忙顶一下。
谢谢了
Top
19 楼ice241018(力挽狂澜)回复于 2005-07-29 14:11:47 得分 0
继续顶。。。
关注。。。。
Top
20 楼Fanxr(ZhangFan)回复于 2005-07-29 14:26:36 得分 10
还没有搞清楚应用是怎么回事,
最好是把excel导入SQL再处理,应用起来并不是很难,
BS结构的话,先做一个DTS,将Excel导入到临时表,然后再从临时表中与H_user对比数据(可以用联合查询的机制),如果只是判断company字段,那么覆盖的最好办法是将这一条数据删除然后再重新写入(本人感觉字段太多的话update很麻烦),从h_user到search表也这样操作就可以了。
之后再用查询写一个Excel出来,用过OWC就会发现,实际上excel文件就是一个HTML,只是里面最好只有一个TABLE,在最前面加上样式表也是只效的,这样的话用结果集拼出string再FSO写到一个xls文件就OK了。Top
21 楼ice241018(力挽狂澜)回复于 2005-07-29 14:44:16 得分 0
帮兄弟顶,关注......Top
22 楼ice241018(力挽狂澜)回复于 2005-07-29 14:55:47 得分 0
继续顶,路过的,帮忙顶一下,谢谢Top
23 楼ice241018(力挽狂澜)回复于 2005-07-29 15:09:50 得分 0
继续顶Top
24 楼lishuai818(李坏)回复于 2005-07-29 15:15:23 得分 0
谢谢 顶Top
25 楼lishuai818(李坏)回复于 2005-07-29 15:17:31 得分 0
顶 我的需求难道真的没有说清楚吗 .....Top
26 楼ice241018(力挽狂澜)回复于 2005-07-29 15:22:41 得分 0
友情顶....
请高手来帮忙一下
期待笨狼大哥的出现。Top
27 楼ice241018(力挽狂澜)回复于 2005-07-29 15:29:28 得分 0
偶顶!!!!!!!!
再顶!!!!!!!!!!!!!
Top
28 楼ice241018(力挽狂澜)回复于 2005-07-29 15:37:41 得分 0
关注中。。。。
Top
29 楼lishuai818(李坏)回复于 2005-07-29 15:49:53 得分 0
哥们 谢谢 休息一会 呵呵Top
30 楼ice241018(力挽狂澜)回复于 2005-07-29 16:06:39 得分 0
恩,没事的
Top
31 楼ice241018(力挽狂澜)回复于 2005-07-29 16:18:30 得分 0
upTop
32 楼lishuai818(李坏)回复于 2005-07-29 16:21:52 得分 0
为什么还没有人来啊Top
33 楼ice241018(力挽狂澜)回复于 2005-07-29 16:37:38 得分 0
高手呢????Top
34 楼xwt799023(★★★★★)回复于 2005-07-29 16:44:57 得分 0
顶Top
35 楼ice241018(力挽狂澜)回复于 2005-07-29 16:48:59 得分 0
up
Top
36 楼surferc((大妹子,缘分啊!))回复于 2005-07-29 16:57:56 得分 5
也不是很难啊。总的思路就是你要先把xsl导入到临时表中然后再做处理这样就可以了。Top
37 楼lougoo(张小鱼)回复于 2005-07-29 17:00:13 得分 0
这么点事就要你走人呀?那你不不如走了算了Top
38 楼superdullwolf(超级大笨狼,每天要自强,MVP)回复于 2005-07-29 17:12:26 得分 10
烦琐,好多步骤,你究竟哪个环节搞不定呢?
1,导excel
2, 批量插入
3,判断纪录在某表有无
你还是具体问一个出现问题的环节吧,所有步骤弄完的确很烦琐。Top
39 楼lishuai818(李坏)回复于 2005-07-29 18:17:33 得分 0
谢谢 哥们 我搞定了 呵呵Top




