ASP导入EXCEL出错

yyychn 2012-02-03 07:53:28
网上下的一个ASP导入EXCEL的程序,现在有一个EXCEL导入时发生错误,没有具体的提示。把SQL打印出来,大家帮我看看有什么问题。
Insert into [ltx] (月份,姓名,工资卡号,身份证,离休金,离休人员生活补贴,离休人员护理费,离休人员交通费,离休人员其他,退休金,退休人员生活补贴,退休人员职务岗位津贴,退休人员综合物价补贴,退休人员地方岗位补贴,退休人员护理费,退职费,退休职务工资,退休级别工资,退休警衔津贴,退休人员其他,水电费,房租费,其他扣款一,其他扣款二) values ('2012-1-1','丁为民','842134921269601075','320924497719527','0','0','0','0','0','2116','2900','0','0','0','0','0','0','0','0','0','20','0','15','0')

关掉了屏蔽错误,但只出现一个错误提示,最下边一行是
Error
其它什么也没有。
...全文
103 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
pm133 2012-02-12
  • 打赏
  • 举报
回复
哈哈,学习了
yyychn 2012-02-09
  • 打赏
  • 举报
回复
顶起来,希望高手们能不吝赐教。
yyychn 2012-02-05
  • 打赏
  • 举报
回复
很奇怪,导入用户列表是可以的。一点问题也没有。但是导入这个数据列表就是不行。我把excel的列一个一个删除了试,留任何一列都不能成功。
杨哥儿 2012-02-04
  • 打赏
  • 举报
回复
另外要学会asp调试技术。
杨哥儿 2012-02-04
  • 打赏
  • 举报
回复
月份='2012-1-1'?其它字段是不超过规定长度?
yyychn 2012-02-03
  • 打赏
  • 举报
回复
谢谢楼上的,我这个代码应该是没有问题了,用人家示例的EXCEL文件和MDB是可以正常导入的,但是用我的不行。我想找出问题所在。可以肯定的是数据库的字段除了自动编号之外全是文本的。应该是没有问题的。人家的示例也是这样的。
shenzhenNBA 2012-02-03
  • 打赏
  • 举报
回复
1,FSO生成EXCEL,并从ACCESS数据库中查询出数据之后写入EXCEL中;
[1],首先连接并打开ACCESS数据库,并查询出想要导出的数据;
[2],建立FSO对象,在通过FSO对象(以合理的覆盖和合理的字符编码,中文用unicode码)建立EXCEL文件对象;
[3],然后想EXCEL写入数据,向EXCEL中写入数据时分两个步骤,首先写入各列的标题,也即ACCESS的字段名称;
[4],然后写入数据部分,把每个记录作为一行写入EXCEL,一直循环写入所有的记录完为止;
[5],注意每个字段值之间连接一个制表符(Tab键),用代码表示chr(9),这样在EXCEL中写入时下一个值自动跳到一个输入格;
[6],注意每个行最后写入一个回车,代码chr(13)表示,这样在EXCEL中写入完一行后才会另起一行输入,否则会一直在一行往后输入;

总方向, 通过FSO对象建立EXCEL文件, 然后向ACCESS文件查询出相关数据再写入到EXCEL文件中;
该方法建立的EXCEL文件物理存在服务器端提供客户端下载;

如下程序参考(以前写的):


<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
'FUNCTION:(TN) QUERY DATA FROM ACCESS DB AND INSERT THEM INTO EXCEL WHICH CREATED NEWLY BY FSO OBJECT
dim msg,exlFileName
msg=""
'exlFileName=trim(request.Form("weFile01")) 'get file name from client
exlFileName="ExcelFileName001"
err.clear

if exlFileName<>"" then
'--------------------------------------------------------------------------------------------
'Connect ACCESS DB and then query data from table
dim acDBName,objDB,strConn
acDBName="DBS/DB01.mdb"
strConn="DRIVER={microsoft access driver (*.mdb)};UID=;PWD=;DBQ="&server.MapPath(acDBName)
set objDB=server.CreateObject("adodb.connection")
objDB.open strConn

dim objRS,qSQL
qSQL="select * from pnAddress"
set objRS=server.CreateObject("adodb.recordset")
objRS.open qSQL,objDB,1,1
'--------------------------------------------------------------------------------------------

'--------------------------------------------------------------------------------------------
'Create EXCEL file and write (query)data to it
if objRS.bof and objRS.eof then
msg="<font color=""red"">No data in ACCESS DB, and not create EXCEL file.</font>"
else
dim objFSO,objExcel,saveExlFileName,strTemp,tempA,i

'create EXCEL file name include path
saveExlFileName=""
saveExlFileName="Excels/"&exlFileName&year(now()) '可以使用程序生成保存的路径或文件夹
if len(month(now()))<2 then
saveExlFileName=saveExlFileName&"0"&month(now())
else
saveExlFileName=saveExlFileName&month(now())
end if
if len(day(now()))<2 then
saveExlFileName=saveExlFileName&"0"&day(now())
else
saveExlFileName=saveExlFileName&day(now())
end if
if len(hour(now()))<2 then
saveExlFileName=saveExlFileName&"0"&hour(now())
else
saveExlFileName=saveExlFileName&hour(now())
end if
if len(minute(now()))<2 then
saveExlFileName=saveExlFileName&"0"&minute(now())
else
saveExlFileName=saveExlFileName&minute(now())
end if
saveExlFileName=saveExlFileName&".xls"

on error resume next
'create FSO and create EXCEL file, exist then delete and create it
set objFSO=server.CreateObject("scripting.FileSystemObject")
if objFSO.fileExists(server.MapPath(saveExlFileName)) then
objFSO.deleteFile(server.MapPath(saveExlFileName))
end if
set objExcel=objFSO.createTextFile(server.MapPath(saveExlFileName),true,true)
'以覆盖(第一个true)和以unicode(第二个true)编码方式建立文件,有中文内容所以需要以unicode方式建立文件


'create HEAD of EXCEL file, HEAD data query from ACCESS DB
for i=0 to objRS.fields.count -1
tempA=tempA & objRS.fields(i).name & chr(9) 'chr(9) 为制表符 Tab 键
next
objExcel.write tempA & chr(13) 'Atten: make a enter in the end of line, 每行完注意回车


'create BODY of EXCEL file, BODY data query from ACCESS DB
do while not objRS.eof
tempA=""
for i=0 to objRS.fields.count-1
tempA=tempA & objRS.fields(i).value & chr(9)
next
objExcel.write tempA 'write a recod, 写入一条记录
objExcel.write chr(13) 'Atten: make a enter in the end of line, 每行完注意回车
objRS.movenext
loop

'close OBJECT and release system source
objExcel.close
set objExcel=nothing
'objFSO.close 'Atten: (TN)带开的文件对象没有 close 方法, 可以直接设置为空,
set objFSO=nothing
msg="ok"
end if
'--------------------------------------------------------------------------------------------
objRS.close
set objRS=nothing
objDB.close
set objDB=nothing
else
msg="<font color=""red"">File name is empty and not create EXCEL file.</font>"
end if

'Display error information if go wrong
if err.number<>0 then
response.Write "<br><font color=""red"">Error code:</font> " & err.number
response.Write "<br><font color=""red"">Error description:</font> " & err.description
response.Write "<br><font color=""red"">Error source:</font> " & err.source
end if
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>FSO建立并增加数据到EXCEL中</title>
</head>
<style type="text/css">
body,td,div,input,fieldset,textarea{font-family:Verdana; font-size:11px; color:#333333; font-weight:normal;}
a:link,a:visited{font-family:Verdana; font-size:11px; color:#333333; font-weight:normal; padding:0px 3px; line-height:20px; text-decoration:none;}
a:hover,a:active{font-family:Verdana; font-size:11px; color:#FF6600; font-weight:normal;}
span{font-family:Verdana; font-size:11px; color:red; font-weight:bold; padding-left:5px; margin:0px 10px;}
</style>
<body>
<p> </p>
<p>
<%
if msg="ok" then
response.Write "<b>OK! EXCEL FILE CREATED:</b>"
response.Write "<hr size=""1"" color=""#FF6600"">"
response.Write "Click and download <a href=""" & saveExlFileName & """><b>" & saveExlFileName & "</b></a>"
else
response.Write "<b>Tip:</b><br>" & msg
end if
%>
</p>
<br><br>
<div id="tip" style="text-align:right;"><a href="excels"><b>EXCEL文件管理</b></a></div>
</body>
</html>



hookee 2012-02-03
  • 打赏
  • 举报
回复
如果字段是数字类型 insert语句中 字段对应的值的两边不要加单引号 直接写数字。
SP操作Excel技术总结 目录 一、 环境配置 二、 ASPExcel的基本操作 三、 ASP操作Excel生成数据表 四、 ASP操作Excel生成Chart图 五、 服务器端Excel文件浏览、下载、删除方案 六、 附录 正文 一、 环境配置 服务器端的环境配置从参考资料上看,微软系列的配置应该都行,即: 1.Win9x+PWS+Office 2.Win2000 Professional+PWS+Office 3.Win2000 Server+IIS+Office 目前笔者测试成功的环境是后二者。Office的版本没有特殊要求,考虑到客户机配置的不确定性和下兼容特性,建议服务器端Office版本不要太高,以防止客户机下载后无法正确显示。 服务器端环境配置还有两个偶然的发现是: 1. 笔者开发机器上原来装有金山的WPS2002,结果Excel对象创建始终出现问题,卸载WPS2002后,错误消失。 2. 笔者开发ASP代码喜欢用FrontPage,结果发现如果FrontPage打开(服务器端),对象创建出现不稳定现象,时而成功时而不成功。扩展考察后发现,Office系列的软件如果在服务器端运行,则Excel对象的创建很难成功。 服务器端还必须要设置的一点是COM组件的操作权限。在命令行键入“DCOMCNFG”,则进入COM组件配置界面,选择Microsoft Excel后点击属性按钮,将三个单选项一律选择自定义,编辑中将Everyone加入所有权限。保存完毕后重新启动服务器。 客户端的环境配置没发现什么特别讲究的地方,只要装有Office和IE即可,版本通用的好象都可以。 二、 ASPExcel的基本操作 1、 建立Excel对象 set objExcelApp = CreateObject("Excel.Application") objExcelApp.DisplayAlerts = false 不显示警告 objExcelApp.Application.Visible = false 不显示界面 2、 新建Excel文件 objExcelApp.WorkBooks.add set objExcelBook = objExcelApp.ActiveWorkBook set objExcelSheets = objExcelBook.Worksheets set objExcelSheet = objExcelBook.Sheets(1) 3、 读取已有Excel文件 strAddr = Server.MapPath(".") objExcelApp.WorkBooks.Open(strAddr & "\Templet\Table.xls") set objExcelBook = objExcelApp.ActiveWorkBook set objExcelSheets = objExcelBook.Worksheets set objExcelSheet = objExcelBook.Sheets(1) 4、 另存Excel文件 objExcelBook.SaveAs strAddr & "\Temp\Table.xls" 5、 保存Excel文件 objExcelBook.Save (笔者测试时保存成功,页面报错。) 6、 退出Excel操作 objExcelApp.Quit 一定要退出 set objExcelApp = Nothing 三、 ASP操作Excel生成数据表 1、 在一个范围内插入数据 objExcelSheet.Range("B3:k3").Value = Array("67", "87", "5", "9", "7", "45", "45", "54", "54", "10") 2、 在一个单元格内插入数据 objExcelSheet.Cells(3,1).Value="Internet Explorer" 3、 选中一个范围 4、 单元格左边画粗线条 5、 单元格右边画粗线条 6、 单元格上边画粗线条 7、 单元格下边画粗线条 8、 单元格设定背景色 9、 合并单元格 10、 插入行 11、 插入列 四、 ASP操作Excel生成Chart图 1、 创建Chart图 objExcelApp.Charts.Add 2、 设定Chart图种类 objExcelApp.ActiveChart.ChartType = 97 注:二维折线图,4;二维饼图,5;二维柱形图,51 3、 设定Chart图标题 objExcelApp.ActiveChart.HasTitle = True objExcelApp.ActiveChart.ChartTitle.Text = "A test Chart" 4、 通过表格数据设定图形 objExcelApp.ActiveChart.SetSourceData objExcelSheet.Range("A1:k5"),1 5、 直接设定图形数据(推荐) objExcelApp.ActiveChart.SeriesCollection.NewSeries objExcelApp.ActiveChart.SeriesCollection(1).Name = "=""333""" objExcelApp.ActiveChart.SeriesCollection(1).Values = "={1,4,5,6,2}" 6、 绑定Chart图 objExcelApp.ActiveChart.Location 1 7、 显示数据表 objExcelApp.ActiveChart.HasDataTable = True 8、 显示图例 objExcelApp.ActiveChart.DataTable.ShowLegendKey = True 五、 服务器端Excel文件浏览、下载、删除方案 浏览的解决方法很多,“Location.href=”,“Navigate”,“Response.Redirect”都可以实现,建议用客户端的方法,原因是给服务器更多的时间生成Excel文件。 下载的实现要麻烦一些。用网上现成的服务器端下载组件或自己定制开发一个组件是比较好的方案。另外一种方法是在客户端操作Excel组件,由客户端操作服务器端Excel文件另存至客户端。这种方法要求客户端开放不安全ActiveX控件的操作权限,考虑到通知每个客户将服务器设置为可信站点的麻烦程度建议还是用第一个方法比较省事。 删除方案由三部分组成: A: 同一用户生成的Excel文件用同一个文件名,文件名可用用户ID号或SessionID号等可确信不重复字符串组成。这样新文件生成时自动覆盖上一文件。 B: 在Global.asa文件中设置Session_onEnd事件激发时,删除这个用户的Excel暂存文件。 C: 在Global.asa文件中设置Application_onStart事件激发时,删除暂存目录下的所有文件。 注:建议目录结构 \Src 代码目录 \Templet 模板目录 \Temp 暂存目录 六、 附录 出错Excel出现的死进程出现是一件很头疼的事情。在每个文件前加上“On Error Resume Next”将有助于改善这种情况,因为它会不管文件是否产生错误都坚持执行到“Application.Quit”,保证每次程序执行完不留下死进程。 补充两点: 1、其他Excel具体操作可以通过录制宏来解决。 2、服务器端打开SQL企业管理器也会产生问题。 New Document
网趣ASP购物系统HTML静态版 v2010 网趣ASP网店系统,免费开源,修改方便,涵盖了网店系统的所有功能。整合有论坛、在线支付、IP段限制、商品的管理、多模块管理、多模板风格等,可以说是一个非常难得的免费网上开店程序。   十大优势:   一、批量优惠券生成功能。   二、Excel批量导入,批量修改商品,添加和修改商品更方便。   三、多重优化与SEO优化并举!   四、新订单邮件自动通知。   五、支持7种在线支付接口,包括北京网银、财付通、快钱支付、支付宝、北京云网、贝宝等多种接口于一体,可以根据自己的需要任意切换使用。支持订单后期支付。   六、支持订单后期修改。   七、支持商品三级分类……      V2010更新内容:   解决首页FLASH广告链接地址过长出错的BUG   修复帮助中心栏目内容错误信息   加入申请VIP功能   加入编辑器图片远程调用或上传本地功能   加入热门关键词搜索的管理   修复管理员管理中的一项常规BUG   修复用户中心-收藏链接的错误BUG   修复订购数量后总价不变的BUG   修复删除商品时返回页码错误   修复生成静态中的BUG (帮助生成时的100%)   价格区间搜索为空时查询出错的BUG   删除若干错误BUG,精简代码。
25175造价查询管理系统v2.0 开发公司:慈溪市顺通网络技术有限公司 信息价查询系统(建筑材料网) 功能简介: 前台: 1.用户名注册:登 录 名:密码:确认密码:性别:查询权限: 地址: 联系电话: 移动电话: E - mail: 工作单位 2.系统优点管理,公告新闻管理,联系我们管理 3.不同用户注册后,通过管理员审核,可以登陆自己的区域进行查询最新信息价. 后台: login.asp 管理员登陆口 账号/密码 admin/admin 基本功能(材料添加 类别添加 设置字段 查询设置 综合版 商情版 导入 用户管理 ) 1. 材料单个添加 代码:材料名称: 型号规格:单 位:综合价格:A 价格:B价格:C价 格:D 价 格:E价格:F价格:产地:等级: 品牌:厂商:备注1:备注2:备注3: 区域选择(按全国的区域): 类别(按商情版及综合版显示,三级动态菜单): 2.类别添加(父类名称:商情版[三级动态菜单]-子类) 添加,删除,修改 3.前台设置 (选择地区,进行设置哪些字段显示,哪些不显示) 4.查询设置 (选择地区,查询哪些已经设置好字段的显示,哪些不显示) *25175* 5.综合版的查询(按区域(省,市,区),类别(三级动态菜单),**期(年,月),材料名或规格,品牌) 选择 序号 代码 材料名称 型号规格 单位 信息价 供应价 到工地价 参考价 D价格 E价格 F价格 产地 等级 品牌 厂商 地区 供货单位及电话 备注3 操作 (添加,删除,修改,批量删除) 6.商情版的查询(按区域(省,市,区),类别(三级动态菜单),**期(年,月),材料名或规格,品牌) 选择 序号 代码 材料名称 型号规格 单位 信息价 供应价 到工地价 参考价 D价格 E价格 F价格 产地 等级 品牌 厂商 地区 供货单位及电话 备注3 操作 (添加,删除,修改,批量删除) 7.excel进行导入(按区域,类别[按四级动态菜单],**期选择[年,月],浏览EXCEL进行导入) *25175* 8.用户管理 (查看用户信息,可以设置使用期限及次数和当前使用次数,修改用户的查询权限)可修改用户密码等所有信息,进行注册用户的审核. 9.管理员密码修改 10.管理员登陆地址:login.asp 帐/密:25175/25175 v1.0.3 build 0515:导入出错解决,录入慢解决,程序死循环解决. v1.0.4 build 0516:excel导入第一行问题 v1.1 :显示信息价内容缓慢 v1.2: 上传文件漏洞 v1.3:数据导入样例表 v1.4:批量删除会员 v1.5:分页查询BUG 需要此基础上定制作请联系:0574-63559457 业务咨询:qq1:29752345 qq2:27236906 在线演示参考: http://www.jszj.com.cn/zaojia/PriceWeb/FramePriceTab.aspx?SiteID=1 [江苏省建设工程造价管理总站] 增强版 http://www.jxzj.net.cn/guestmaprice.aspx [江西省建设工程造价管理站] 增强版 http://www.jngczj.com/rcjjg/index.asp [济南工程造价信息网] 调试操作系统:windows2000 winxp win2003 调试**台:IIS5.0,sql server 2000,asp 浏览器:IE6.0 IE7.0

28,390

社区成员

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

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