execl 导入数据库问题!

xiaorui198 2005-03-13 02:01:14
在execl文件导入MSSQL,表的字段类型为char,想要导入execl文件中的手机号,在execl文件中相应的单元格中,提示次“单元格中的数字为文本格式或前面有撇号”,或者当单元格中的含有回车符时,在导入数据库后字段内容为空,请问有谁知道如何通过程序解决!我知道有人用java字符解析做过!ASP能不能作?如何作?谢谢!
...全文
230 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaorui198 2005-03-13
  • 打赏
  • 举报
回复
那请问可不可以通过程序将execl某一列类型转换为一致后再传入数据库!谢谢了!
bluemoon0001 2005-03-13
  • 打赏
  • 举报
回复
demo.asp

<%
Dim cn,oConn,connstr
'打开XLS.
Set cn = Server.CreateObject("ADODB.Connection")
cn.Provider = "Microsoft.Jet.OLEDB.4.0 "
cn.ConnectionString = "Data Source=" & Server.MapPath("data.xls") & ";" & _
"Extended Properties=Excel 8.0;"
cn.Open
'打开MDB.
connstr="DBQ="+server.MapPath("data.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set oConn=server.CreateObject("ADODB.CONNECTION")
oConn.open connstr

'读取数据.
set rsRead=server.CreateObject("ADODB.Recordset")
rsRead.Open "select * from [Sheet1$]",cn,1,1
do until rsRead.EOF
'写入数据库.
oConn.Execute("Insert into users(userid,password)Values('"& rsRead.Fields("userid")&"','" &rsRead.Fields("password") & "')" )
rsRead.MoveNext
loop
%>


数据库data.mdb

表users
id,uesrid,password

Excel文件data.xls

数据
userid password
wang w521
zhange z254
hong h112


'=====================!!!!ASP读取EXCEL注事项!!!!===========================
'i)将Excel97或Excel2000生成的XLS文件(book)看成一个数据库,其中的每一个工作表(sheet)看成数据库表
'ii)ADO假设Excel中的第一行为字段名.所以你定义的范围中必须要包括第一行的内容
'iii)Excel中的行标题(即字段名)不能够包含数字. Excel的驱动在遇到这种问题时就会出错的。例如你的行标题名为“F1”
'iiii)如果你的Excel电子表格中某一列同时包含了文本和数字的话,那么Excel的ODBC驱动将不能够正常, 处理这一行的数据类型,你必须要保证该列的数据类型一致
'===========================================================
xiaorui198 2005-03-13
  • 打赏
  • 举报
回复
我也想啊!主要是读取用户上传的EXECL表!他们的有些号码段是重另外的EXECL粘贴的!喊他们调说麻烦!我晓得有人用java+jsp可以读取!难到asp不能嘛!不过还是很感谢你的帮助!给分哈!
chuting1 2005-03-13
  • 打赏
  • 举报
回复
呵呵

有给一下我
cctctz@tom.com
bluemoon0001 2005-03-13
  • 打赏
  • 举报
回复
要不你用另一种方法,如下:

<%@language=vbscript %>
<%

Set xlApp = server.CreateObject("Excel.Application")

strsource = "test.xls"

Set xlbook = xlApp.Workbooks.Open(strsource)
Set xlsheet = xlbook.Worksheets(1)

i=1
response.write "<table cellpadding=0 cellspacing=0 border=1 width=500>"
while xlsheet.cells(i,1)<>""

response.write "<tr>"
response.write " <td height=20 align=center width=100>" & xlsheet.Cells(i, 1) & "</td>"
response.write " <td height=20 align=center width=200>" & xlsheet.Cells(i, 2) & "</td>"
response.write " <td height=20 align=center width=200>" & xlsheet.Cells(i, 3) & "</td>"
response.write "</tr>"
i=i+1

wend
response.write "</table>"
set xlsheet=nothing
set xlbook=nothing
xlApp.quit %>
bluemoon0001 2005-03-13
  • 打赏
  • 举报
回复
在excel里转好了不就行了吗?即使是数据库每列也要相同啊,asp中好象没有。
xiaorui198 2005-03-13
  • 打赏
  • 举报
回复
有谁能帮帮忙啊!问题解决了就给分!!
xiaorui198 2005-03-13
  • 打赏
  • 举报
回复
大家帮帮忙啊!谢谢了!

28,408

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧