asp实现excel中的数据导入数据库
基于ASP_NET的批量Excel数据导入通用模块的设计与实现_沈浩

Computer Knowledge and Technology 电脑知识与技术第8卷第34期(2012年12月)基于 的批量Excel 数据导入通用模块的设计与实现沈浩,邓晓军(湖南工业大学计算机与通信学院,湖南株洲412000)摘要:在使用ASP 或 进行Web 开发中,经常需要将各种数据表格导入数据库以便系统对数据进行处理。
该文通过对Excel 与数据库之间的数据导入方法的研究和剖析,实现了将批量Excel 文件数据导入数据库表的通用模块的设计。
该模块适用范围较广,对信息系统开发有重要的意义。
关键词:Excel ; ;导入;数据库中图分类号:TP393文献标识码:A 文章编号:1009-3044(2012)34-8101-02General Module of Batch Excel Data Import to Database Design and Implementation Based on SHEN Hao,DENG Xiao-jun(School of Computer and Communication ,Hunan University of Technology ,Zhuzhou 412000,China )Abstract :As Web development by using ASP and ,various data tables should be imported into the database,as to con⁃venience to data processing.This article research and analysis data importing method between Excel and the database and real⁃ized the general module design of batch Excel file data import into a database table.This module has wide range of applica⁃tion,and has important significance to information system development.Key words:component ;Excel ; ;import ;database1概述在MIS 系统中,经常需要用户进行数据的录入,显然,逐条录入必定增加用户的工作量,而且耗时长。
ASP实现Excel工作表和数据库的导入导出

ASP实现Excel工作表和数据库的导入导出本文论述了利用ASP技术将Excel工作表导入到数据库,将数据库查询出来的数据导出到Excel工作表的实现方法,并给出了程序实例。
标签:ASP Excel 数据库0 引言在互联网高速发展的今天,很多企事业单位建立了自己的网站,网站信息管理员平时把数据输入到网站的数据库,网站程序会自动计算、统计、分析数据,并产生用户所需的报表,但目前很多B/S结构的信息管理系统,数据的输入还是只能一条一条记录地输入,输出的报表格式固定不能满足用户的需求。
对于信息管理员来说,很多的数据还是存储在Excel工作簿中,比如:某手机经营店上了一套进销存管理系统,店里每次进货都是几百上千地进,供货商会给出Excel格式的进货单,存储的信息是手机串号、机型、品牌、进价等信息,对于手机经营店来说,希望能够直接把供货商给的Excel工作表数据导入系统,如果自己输入,工作量很大。
企业应用软件最后输出结果都是报表的形式,他们希望输出的报表能够进行二次分析利用。
对于开发信息管理系统的程序员来说,报表的显示和打印是整个开发过程中最麻烦但又必须做的事情,如果我们能把报表输出结果转化到Excel文件中,提供给用户进行二次加工处理,这样就提高了程序的通用性。
本文介绍了ASP技术实现网站数据库和Excel交互的方式,给出了程序实例。
1 相关技术简介①Excel电子表格。
Excel是微软办公套装软件的一个重要的组成部分,它可以进行各种数据的处理、统计分析和辅助决策操作,广泛地应用于管理、统计财经、金融等众多领域。
大部分人都是用它来进行数据处理,制作电子表格。
②ASP和SQL Server数据库。
ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或Web应用程序。
ASP網页可以包含HTML标记、普通文本、脚本命令以及COM组件等。
它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。
SQL Server是目前比较流行的关系数据库管理系统,广泛应用于网站的后台数据库。
Asp环境下的Excel导入导出技术浅析

环境下的Excel导入导出技术浅析——软件应用开发二部张XX1综述项目开发中经常会用到数据的导入导出,很多系统都留有Excel导入导出的功能,以便与自然人或其他系统交互数据。
只要数据交互的双方都有Excel导入导出的接口,就能很方便地格式化处理对方的数据。
一个优秀的系统必然有一些与其他系统的数据交互接口,Excel导入导出就是其中比较好的一个。
系统留出Excel导入导出接口的一般做法是实现导入Excel、导出Excel 和导出Excel模板这三种功能。
在导入导出Excel的功能上可以加入一些查询限制条件,从而实现对数据的过滤。
导出的Excel模板主要是方便其他系统直接使用,在Excel模板文件中可以预设好固定的格式,包括字体颜色大小,合并单元格等。
开发者可以通过系统程序生成Excel模板文件,对于丰富格式的模板最好通过Microsoft Excel软件设置并保存起来。
Microsoft Excel是优秀的软件产品,有着丰富的功能,对Excel文件进行编程操作也有多种方法。
主要有Excel文件Sql连接读写、Excel Com组件读写、字符流Excel文件读写三种方式。
技术有着大量的B/S应用,具有很好的易用性和丰富的功能。
本文使用的C#后台语言,结合有着较完美功能和界面的Ext前台JS 脚本技术进行Excel文件的读写操作和导入导出演示说明。
本文将分别从Excel导入和导出两个方面分析几种可能的方法,对方法应用中可能遇到的问题也视情况进行探讨。
最后比较各个方法的优缺点,总结使用的方式和注意事项等。
网络上已经有了大量的关于 Excel导入导出的资料,在参考这些资料的基础上本文侧重实践应用中遇到的一些问题的解决和汇总分析。
2Excel导入导入主要有两种方式Excel文件Sql连接读取和Excel Com组件读取。
把Excel文件保存成CSV文件(列之间用英文逗号分隔,行之间用换行符分隔)或者TXT文件(列之间用制表符分隔,行之间用换行符分隔),然后再使用文本流的方式读取也可以作为一种方法。
用ASP上传Excel表格并导入到数据库

用ASP上传Excel表格并导入到数据库<%set upload=new upload_5xSoftset file=upload.file("file1")formPath="../upload1/"if file.filename="" thenresponse.Write "<script language=‘javascript‘>alert(‘你没选择文件!‘);history.go(-1);</script>"elseif file.filesize>1000 thenfileExt=lcase(right(file.filename,3))if fileExt<>"xls" thenResponse.Write"文件类型非法"Response.endend ifend ifrandomizeranNum=int(9000000*rnd)+10000filename=formPath&year(now)&month(now)&day(now)&h our(now)&minute(now)&second(now)&ranNum&"."&fileExt if file.FileSize>0 thenfile.SaveAs Server.mappath(FileName)end ifconnstr = "driver={microsoft Access driver (*.mdb)}; dbq=" & server.mappath("../../data/#data.mdb")set conn3 = server.createobject("ADODB.CONNECTION")conn3.open connstrset rs=server.createobject("adodb.recordset")rs.Open "select * from User whereUserName=‘"&Session("user")&"‘ " ,conn3,3,3rs("log")=cstr(FileName)rs.updaters.closeconn3.close‘这里用来写导入数据库的程序kl=FileNameop=len(kl)op2= mid(kl,3,op-2)strAddr = Server.MapPath(""&kl)set excelconn=server.createobject("adodb.connection")‘strAddr = file‘‘输出源文件名excelconn.open"Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" & strAddr‘‘建立excel记录集set rs2=server.createobject("adodb.recordset")set rs3= Server.CreateObject("ADODB.Recordset")set rs3 = excelconn.OpenSchema(20)op=rs3("TABLE_NAME")sql="select * from "+"["+ op+"]"rs2.open sql,excelconn,1,1‘找到表connstr = "driver={microsoft Access driver (*.mdb)}; dbq=" & server.mappath("../../data/#data1.mdb")set conn = server.createobject("ADODB.CONNECTION")conn.open connstrstrSQL="Delete * From Sheet1 Where user=‘"&Se ssion("user")&"‘"conn.execute strSQLconnstr = "driver={microsoft Access driver (*.mdb)}; dbq=" & server.mappath("../../data/#data1.mdb")set conn = server.createobject("ADODB.CONNECTION")‘删除以前的信息conn.open connstrset rs4= Server.CreateObject("ADODB.Recordset")rs4.open "select * from Sheet1",conn,3,3if rs4.Fields.Count-3 <> rs2.Fields.Count-1 thenresponse.write "要上传的表格格式不对,不能导入统一数据库!"response.endelse‘导入过程for j = 1 to rs2.recordCountrs4.addnewfor i = 0 to rs2.Fields.Count-1rs4.Fields("user")=Session("user")rs4.Fields(i+1)=rs2.Fields(i)nextrs2.movenextnextend if‘ ............‘kl=""strSQL="delete FROM Sheet1 where isnull(品名) = true" conn.execute strSQLconn.closeresponse.write "成功 "response.redirect "../../index.asp"end if。
asp导航excel数据到mssqlaccessmysql等数据方法

asp导航excel数据到mssqlaccessmysql等数据方法下面是一段简单的由asp导入excel数据保存到其它的数据如有mssql access mysql 等哦好了费话不说多了来看看下面的代码吧<! #include file="adoconn asp" > <% Set xlsconn = server CreateObject("adodb connection") set rs=server CreateObject("adodb recordset")source =server mappath(" ")&""&replace(request("path") "/" "") myConn_Xsl="Provider=Microsoft Jet OLEDB ;Data Source=" &source & ";Extended Properties=Excel " xlsconn open myConn_Xslsql="select * from [商品列表$]" set rs=xlsconn execute(sql) if not rs eof then while not rs eof names=rs("商品名") pic=rs("图片")sql="insert into [product](namese pic) values( "& names &" "& pic &" )" conn execute(sql)rs movenext wendend if response write "导入成功" end if %>数据连接文件<! #include file="adoconn asp" >lishixinzhi/Article/program/net/201311/14100。
请问如何利用利用asp编写一个可以将excel导入access的功能呢?

解析:
用上传的话,最好先把excel上传到服务器一个固定的地方,然后用adodb 连接服务器 Excel,直接导入到服务器数据库。
用上传的话最好先把excel上传到服务器一个固定的地方然后用adodb连接服务器excel直接导入到服务器数据库
请问如何利用利用asp编写一个可以将excel导入access的功能呢?
分类:电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
请问如何利用利用asp编写一个可以ห้องสมุดไป่ตู้excel导入access的功能呢?就是有一个上传的框架选择excel文件,然后点击导入,就可以把excel文件导入到access中去。
ASP里-将Excel导入到Access数据库

ASP里-将Excel导入到Access数据库2009-11-18 09:28用ASP编的一个网站,数据库是Access,数据库名称是atest,里面有个表格user,user表格有user和password两个字段现要将Excel表格(名称是test.xls)的数据导入到atest数据库的user表中,怎么实现?高手支招............................................................下面连接到test.xls表sheet1$ '表后面要加个$的,一定要加这个符号Set conn = Server.CreateObject("ADODB.Connection")conn.Open "Driver={Microsoft Excel Driver (*.xls)};ReadOnly=0;DBQ=" & Server.MapPath("test.xls")SQL1="select * from [sheet1$]"Set rs = Server.CreateObject("ADODB.Recordset")rs.Open SQL1, conn, 3, 3'下面连接到atest.mdb表usercurDir = Server.MapPath("atest.mdb")Set conn1 = Server.CreateObject("ADODB.Connection")conn1.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & curDirSet rs1 = Server.CreateObject("ADODB.Recordset")Set rs1.ActiveConnection = conn1rs1.Source = "select * from user"rs1.CursorType = 3 ' adOpenKeysetrs1.LockType = 3 'adLockOptimisticrs1.OpenDo While Not rs.Eofrs1.AddNewrs1(0)=jfor i=0 to rs.Fields.Count-1rs1(i)=Trim(rs(i))Nextrs1.Updaters.MoveNextj=j+1Looprs.Closers1.Closeconn.Closeconn1.CloseSet rs=nothingSet conn=nothing ............................................................................在ASP中怎样把EXCEL导入ACCESSdemo.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,1do until rsRead.EOF'写入数据库.oConn.Execute("Insert into users(userid,password)Values('"& rsRead.Fields("userid")&"','" &rsRead.Fields("password") & "')" )rsRead.MoveNextloop%>数据库data.mdb表usersid,uesrid,passwordExcel文件data.xls数据userid passwordwang w521zhange z254hong h112'================!!!!ASP读取EXCEL注事项!!!!======================'i)将Excel97或Excel2000生成的XLS文件(book)看成一个数据库,其中的每一个工作表(sheet)看成数据库表'ii)ADO假设Excel中的第一行为字段名.所以你定义的范围中必须要包括第一行的内容'iii)Excel中的行标题(即字段名)不能够包含数字. Excel的驱动在遇到这种问题时就会出错的。
springMVC(5)---导入excel文件数据到数据库

springMVC(5)---导⼊excel⽂件数据到数据库springMVC(5)---导⼊excel⽂件数据到数据库上⼀篇⽂章写了从数据库导出数据到excel⽂件,这篇⽂章悄悄相反,写的是导⼊excel⽂件数据到数据库。
上⼀篇链接:直接进⼊步骤讲解:第⼀步、导⼊jar包<dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.9</version></dependency>第⼆步,创建Model对象我没有把数据放到数据库中,⽽是导⼊到实体中,然后在后台打印public class Family {//家庭编号private String jtbh;//姓名private String xm;//⾏业private String hy;//备注private String bz;/** 提供set和get,toString⽅法*/}第三步.导⼊excel界⾯ leadingexcel.jsp<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><html><head><script type="text/javascript" src="../js/jquery-1.7.1.js"></script><script type="text/javascript" src="../js/jquery.form.js"></script><script type="text/javascript">/* ajax ⽅式上传⽂件操作 */$(document).ready(function(){$("#btn").click(function(){ if(checkData()){$('#form1').ajaxSubmit({url:'uploadExcel/ajax',dataType: 'text',success: resutlMsg,error: errorMsg});function resutlMsg(msg){alert(msg);$("#upfile").val("");}function errorMsg(){alert("导⼊excel出错!");}}});});//JS校验form表单信息function checkData(){var fileDir = $("#upfile").val();var suffix = fileDir.substr(stIndexOf("."));if("" == fileDir){alert("选择需要导⼊的Excel⽂件!");return false;}if(".xls" != suffix && ".xlsx" != suffix ){alert("选择Excel格式的⽂件导⼊!");return false;}return true;}</script></head><body><form method="POST" enctype="multipart/form-data" id="form1" action="uploadExcel/form"><label>上传⽂件: </label><input id="upfile" type="file" name="upfile"><br><br><input type="submit" value="表单提交" onclick="return checkData()"><input type="button" value="ajax提交" id="btn" name="btn"></form></body></html>先讲下,我这src引⽤路径的时候发现,怎么也引⽤不到,找了好久才发现,我在springmvc中没有配置静态⽂件 springmvc.xml<!-- 静态资源访问 --><mvc:default-servlet-handler/><!-- 当我仅配置上⾯的时候⼜发现src是引⽤到了,但是我的RequestMapping映射却变成请求不到了,所以下⾯的也⼀定要加上 --> <mvc:annotation-driven></mvc:annotation-driven>第四步、LeadingExcelController.javaimport java.io.InputStream;import java.io.PrintWriter;import java.util.List;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.multipart.MultipartFile;import org.springframework.web.multipart.MultipartHttpServletRequest;import com.ssm.model.Family;import com.ssm.service.impl.ImportExcelUtil;@Controller@RequestMapping("/jsp/uploadExcel")public class LeadingExcelController {@RequestMapping("/form")public String form(HttpServletRequest request)throws Exception{MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;InputStream in =null;List<List<Object>> listob = null;MultipartFile file = multipartRequest.getFile("upfile");if(file.isEmpty()){throw new Exception("⽂件不存在!");}in = file.getInputStream();listob = new ImportExcelUtil().getBankListByExcel(in,file.getOriginalFilename());in.close();//该处可调⽤service相应⽅法进⾏数据保存到数据库中,现只对数据输出for (int i = 0; i < listob.size(); i++) {List<Object> lo = listob.get(i);Family family = new Family();family.setJtbh(String.valueOf(lo.get(0)));family.setXm(String.valueOf(lo.get(1)));family.setHy(String.valueOf(lo.get(2)));family.setBz(String.valueOf(lo.get(3)));System.out.println("打印信息-->"+family.toString());}return null;}@RequestMapping(value="/ajax")public void ajaxUploadExcel(HttpServletRequest request,HttpServletResponse response) throws Exception { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;InputStream in =null;List<List<Object>> listob = null;MultipartFile file = multipartRequest.getFile("upfile");if(file.isEmpty()){throw new Exception("⽂件不存在!");}in = file.getInputStream();listob = new ImportExcelUtil().getBankListByExcel(in,file.getOriginalFilename());//该处可调⽤service相应⽅法进⾏数据保存到数据库中,现只对数据输出for (int i = 0; i < listob.size(); i++) {List<Object> lo = listob.get(i);Family family = new Family();family.setJtbh(String.valueOf(lo.get(0)));family.setXm(String.valueOf(lo.get(1)));family.setHy(String.valueOf(lo.get(2)));family.setBz(String.valueOf(lo.get(3)));System.out.println("打印信息-->"+family.toString());}PrintWriter out = null;response.setCharacterEncoding("utf-8"); //防⽌ajax接受到的中⽂信息乱码out = response.getWriter();out.print("⽂件导⼊成功!");out.flush();out.close();}}第五步、ImportExcelUtil.java 报表导⼊实现层import java.io.IOException;import java.io.InputStream;import java.text.DecimalFormat;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.List;import ermodel.HSSFWorkbook;import ermodel.Cell;import ermodel.Row;import ermodel.Sheet;import ermodel.Workbook;import ermodel.XSSFWorkbook;public class ImportExcelUtil {private final static String excel2003L =".xls"; //2003- 版本的excelprivate final static String excel2007U =".xlsx"; //2007+ 版本的excel/*** 描述:获取IO流中的数据,组装成List<List<Object>>对象* @param in,fileName* @return* @throws IOException*/public List<List<Object>> getBankListByExcel(InputStream in,String fileName) throws Exception{List<List<Object>> list = null;//创建Excel⼯作薄Workbook work = this.getWorkbook(in,fileName);if(null == work){throw new Exception("创建Excel⼯作薄为空!");}Sheet sheet = null;Row row = null;Cell cell = null;list = new ArrayList<List<Object>>();//遍历Excel中所有的sheetfor (int i = 0; i < work.getNumberOfSheets(); i++) {sheet = work.getSheetAt(i);if(sheet==null){continue;}//遍历当前sheet中的所有⾏for (int j = sheet.getFirstRowNum(); j < sheet.getLastRowNum(); j++) {row = sheet.getRow(j);if(row==null||row.getFirstCellNum()==j){continue;}//遍历所有的列List<Object> li = new ArrayList<Object>();for (int y = row.getFirstCellNum(); y < row.getLastCellNum(); y++) {cell = row.getCell(y);li.add(this.getCellValue(cell));}list.add(li);}}in.close();return list;}/*** 描述:根据⽂件后缀,⾃适应上传⽂件的版本* @param inStr,fileName* @return* @throws Exception*/public Workbook getWorkbook(InputStream inStr,String fileName) throws Exception{ Workbook wb = null;String fileType = fileName.substring(stIndexOf("."));if(excel2003L.equals(fileType)){wb = new HSSFWorkbook(inStr); //2003-}else if(excel2007U.equals(fileType)){wb = new XSSFWorkbook(inStr); //2007+}else{throw new Exception("解析的⽂件格式有误!");}return wb;}/*** 描述:对表格中数值进⾏格式化* @param cell* @return*/public Object getCellValue(Cell cell){Object value = null;DecimalFormat df = new DecimalFormat("0"); //格式化number String字符SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd"); //⽇期格式化DecimalFormat df2 = new DecimalFormat("0.00"); //格式化数字switch (cell.getCellType()) {case Cell.CELL_TYPE_STRING:value = cell.getRichStringCellValue().getString();break;case Cell.CELL_TYPE_NUMERIC:if("General".equals(cell.getCellStyle().getDataFormatString())){value = df.format(cell.getNumericCellValue());}else if("m/d/yy".equals(cell.getCellStyle().getDataFormatString())){value = sdf.format(cell.getDateCellValue());}else{value = df2.format(cell.getNumericCellValue());}break;case Cell.CELL_TYPE_BOOLEAN:value = cell.getBooleanCellValue();break;case Cell.CELL_TYPE_BLANK:value = "";break;default:break;}return value;}}第六步:最终效果,当我点击通过表单和ajax提交时(1)先展⽰上传的xls⽂件内容(2)最终控制台打出:(3)通过ajax导⼊成功,前端也会提⽰完美!想的太多,做的太少,中间的落差就是烦恼,要么去做,要么别想少尉【12】。
Asp连接读取excel内容并导入到数据库

Asp连接读取excel内容并导入到数据库asp连接excelSet connnew = Server.CreateObject("ADODB.Connection")'hdr取值yes,no ,表示第一行是否为字段名connStr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&Server.MapPath(“test.xls”)&";Extended Properties='Excel 8.0;HDR=No;IMEX=1';"connnew.open connstrSet rsnew=Server.CreateObject("ADODB.Recordset")'Sheet1为excel里面的表名,表名后面一定要加$sqlnew = "select * from [Sheet1$]"rsnew.open sqlnew,connnew,1,1'rows是读取的excel里面数据的行数rows=rsnew.recordcount'cells是读取excel里面数据的列数cells=rsnew.Fields.Count输出记录集rsnew里面的数据,规则是这样的:如果HDR赋值是No的话rsnew(0)输出的是excel里第一行第一列的内容如果HDR赋值是Yes的话rsnew(0)输出的是excel里第二行第一列的内容如果想输出第二行的内容,只需在语句前加rsnew.movenext输出就这么简单的完成了!连接网站数据库,相信各位程序猿都已经会了。
要做的就是用sql语句判断要导入的数据是否存在,存在用update修改一下。
不存在的话addnew重新插入一条即可。
如果想要实现上传excel后导入的话,可以加上一个上传程序,将上传后的excel 路径传输到asp连接excel的字符串里面。
ASP程序将EXCEL数据导入ACCESS数据库

ASP程序将EXCEL数据导入ACCESS数据库,重新编排多个源码数据测试,能用!增加导入字段数量,实现各access数据库的批量导入。
Excelupload.asp<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>无标题文档</title><style type="text/css"><!--.STYLE1 {color: #FF0000}--></style></head><body><form action="excelToAccess.asp" method="post" name="form1" id="form1"> <p><input name="bbb" type="file" id="bbb" size="60" /></p><p><input type="submit" name="Submit" ="提交" /></p></form><p class="STYLE1">数据上传请找管理员,提前备份原数据库后方可操作,否则可能引数据丢失或格式混乱,并由管理员提供上传数据模板。
ASP中怎样将本地的Excel文件数据,导入到远程web服务器的Access数据库中?

ASP中怎样将本地的Excel文件数据,导入到远程web服务器的Access数据库中?代码如下:<% @language=vbscript %><% On Error Resume Next %><% Server.ScriptTimeOut=900 %><html><head><link href="Css.css" rel="stylesheet" type="text/css"><meta http-equiv="Content-Type"content="text/html; charset=gb_2312-80"><title>出口企业合同报备导入</title></head><body bgcolor="#FFFFFF" topmargin=0><!--#include file=conn.asp--><%if session("UserName")="" thenresponse.Redirect("Default.asp")end if%><br><!--<div align='center'><h3>出口企业合同报备导入</h3></div><hr>--><center><form method=post action="ImportData.asp">请选择要导入的合同报备文件:<input name="ImportFile" type="file" size="25"><input type="submit" name='btnRead' value='读取数据'></form></center><hr><%IF request("btnRead")<>"" and request("btnImport")="" thenIf request("ImportFile")<>"" then' response.write ("<center><font color=#FF0000>已成功读取文件:" & request("ImportFile")&"</font></center>")Set xlApp = server.CreateObject("Excel.Application")StrSource = request("ImportFile")Set xlbook = xlApp.Workbooks.Open(StrSource)Set xlsheet1 = xlbook.Worksheets(1)Set xlsheet2 = xlbook.Worksheets(2)Set xlsheet3 = xlbook.Worksheets(3)i=2while xlsheet1.cells(i,1)<>""%><table align=center border="1" width="100%" bgcolor="#F7FBFF" bordercolorlight="# 2F97FF" cellspacing="0" bordercolordark="#F0F8FF"><tr><td width="100%" bgcolor="#FFF000"><div align="center"><center><p><font color=bl ue><strong>出口供货企业信息</strong></font></td></tr><tr><td><table cellpadding=0 cellspacing=0 border=0 width='100%'><tr><td height=22 align=right><b>纳税人识别号:</b></td><td height=22 align=left width=100> <font color=#ff0000><%=xlsheet1.Cells(i, 1)% ></font> </td><td height=22 align=right><b>纳税人名称:</b></td><td height=22 align=left width=100> <font color=#ff0000><%=xlsheet1.Cells(i, 2)% ></font> </td><td height=22 align=right><b>联系人:</b></td><td height=22 align=left width=100> <font color=#ff0000><%=xlsheet1.Cells(i, 3)% ></font> </td></tr><tr><td height=21 align=right><b>电话:</b></td><td height=21 align=left width=100> <font color=#ff0000><%=xlsheet1.Cells(i, 4)% ></font> </td><td height=21 align=right><b>地址:</b></td><td height=21 align=left width=100> <font color=#ff0000><%=xlsheet1.Cells(i, 5)% ></font> </td><td height=21 align=right><b>备注说明:</b></td><td height=21 align=left width=100> <font color=#ff0000><%=xlsheet1.Cells(i, 7)% ></font> </td></tr></table></td></tr></table><hr><br><%i=i+1wend%><%j=2while xlsheet2.cells(j,1)<>""%><table align=center border="1" width="100%" bgcolor="#F7FBFF" bordercolorlight="# 2F97FF" cellspacing="0" bordercolordark="#F0F8FF"><tr><td width="100%" bgcolor="#FAD185"><div align="center"><center><p><font color=bl ue><strong>合同信息(合同号:<%=xlsheet2.Cells(j, 1)%>)</strong></font></td></tr><tr><td><table cellpadding=2 cellspacing=0 border=0 width='100%'><tr><td height=20 align=right width=72><strong>合同号:</strong></td><td height=20 align=left width=101> <%=xlsheet2.Cells(j, 1)%> </td><td height=20 align=right width=102><strong>备案日期:</strong></td><td height=20 align=left width=120> <%=Date%> </td> <!--<%=xlsheet2.Cells(j, 2)%>--><td height=20 align=right width=110><strong>购货方识别号:</strong></td><td height=20 align=left width=119> <%=xlsheet2.Cells(j, 3)%> </td><td height=20 align=right width=118><strong>购货单位名称:</strong></td><td height=20 align=left width=175> <%=xlsheet2.Cells(j, 4)%> </td></tr><tr><td height=20 align=right ><strong>签订日期:</strong></td><td height=20 align=left width=101> <%=xlsheet2.Cells(j, 5)%> </td><td height=20 align=right><strong>交货方式:</strong></td><td height=20 align=left width=120> <%=xlsheet2.Cells(j, 6)%> </td><td height=20 align=right><strong>预计交货时间:</strong></td><td height=20 align=left width=119> <%=xlsheet2.Cells(j, 7)%> </td><td height=20 align=right><strong>货款结算方式:</strong></td><td height=20 align=left width=175> <%=xlsheet2.Cells(j, 8)%> </td></tr><tr><td height=22 align=right><strong>生产方式:</strong></td><td height=22 align=left width=101> <%=xlsheet2.Cells(j, 9)%> </td><td height=22 align=right><strong>外贸业务员:</strong></td><td height=22 align=left width=120> <%=xlsheet2.Cells(j, 10)%> </td><td height=22 align=right><strong>联系电话:</strong></td><td height=22 align=left width=119> <%=xlsheet2.Cells(j, 11)%> </td><td height=22 align=right><strong>供货企业业务员:</strong></td><td height=22 align=left width=175> <%=xlsheet2.Cells(j, 12)%> </td></tr></table><%k=2%><!-- <table cellpadding=0 cellspacing=0 border=1 width='100%'> --><table width=100% border=1 align="center" cellpadding=1 cellspacing=1 bordercolor= "#333333" style="border-collapse: collapse"><tr bgcolor="#FFFFFF" height="20"><td height=20 align=center width=189><strong> 产品名称</strong></td><td height=20 align=center width=113><strong> 计量单位</strong></td><td height=20 align=center width=116><strong> 产品数量</strong></td><td height=20 align=center width=104><strong> 单价</strong></td><td height=20 align=center width=118><strong> 金额</strong></td><td height=20 align=center width=93><strong> 税率</strong></td><td height=20 align=center width=103><strong> 税款</strong></td><td height=20 align=center width=92><strong> 合计</strong></td></tr><%while xlsheet3.cells(k,1)<>""if xlsheet3.cells(k,1)=xlsheet2.cells(j,1) then%><tr><td height=20 align=center width=189> <%=xlsheet3.Cells(k, 2)%> </td><td height=20 align=center width=113> <%=xlsheet3.Cells(k, 3)%> </td><td height=20 align=center width=116> <div align="right"><%=xlsheet3.Cells(k, 4)% > </div></td><td height=20 align=center width=104> <div align="right"><%=xlsheet3.Cells(k, 5)% > </div></td><td height=20 align=center width=118> <div align="right"><%=xlsheet3.Cells(k, 6)% > </div></td><td height=20 align=center width=93> <div align="right"><%=xlsheet3.Cells(k, 7)%> </div></td><td height=20 align=center width=103> <div align="right"><%=xlsheet3.Cells(k, 8)% > </div></td><td height=20 align=center width=92> <div align="right"><%=xlsheet3.Cells(k, 9)%> </div></td></tr><%end ifk=k+1wend%></table></td></tr></table> <!-- 整张合同的表格结束--><br> <br><%j=j+1wendresponse.write "</br>"set xlsheet1=nothingset xlsheet2=nothingset xlsheet3=nothingset xlbook=nothingxlApp.quit%><div align='center'><form method='post' action='ImportData.asp?ImportFile=<%=StrSource%>'> <input type="submit" name="btnImport" value='导入数据'></form></div><br><%Elseresponse.write ("<br><center>请选择要读取的文件!</center><br>")End ifEND IF%>Set xlApp = server.CreateObject("Excel.Application")set ExcelAPP = CreateObject("Excel.Application") 生成EXCEL对象ExcelAPP.Workbooks.open(文件) 打开文件大开本地Excel请用Set xlApp = new ActiveXObject("Excel.Application");。
ASP将Excel数据导入到SQLServer的实现代码

ASP将Excel数据导⼊到SQLServer的实现代码复制代码代码如下:<form action="insert.asp" method="post" enctype="multipart/form-data" name="form1" onSubmit="b1_onclick()"> <table width="500" border="1" align="center" cellpadding="0" cellspacing="0"><tr><td colspan="2" bgcolor="#999999" class="t">选择⽂件</td></tr><tr><td colspan="2" class="t"> </td></tr><tr><td width="126" class="t">选择⽂件(excel)</td><td width="368" class="t"><label><input name="filexls" type="file" size="35"></label></td></tr><tr><td colspan="2" class="t"><label><input type="submit" name="Submit" value="导⼊数据"></label><a href="1122.asp" class="t">返回</a></td></tr></table></form><!--#include virtual="/inc/clsdbctrl.asp"--><!--#include virtual="/inc/function.asp"--><%dim upfile_5xSoft_StreamClass upload_5xSoftdim Form,File,VersionPrivate Sub Class_Initializedim iStart,iFileNameStart,iFileNameEnd,iEnd,vbEnter,iFormStart,iFormEnd,theFiledim strDiv,mFormName,mFormValue,mFileName,mFileSize,mFilePath,iDivLen,mStrVersion="任翔专⽤上传程序"if Request.TotalBytes<1 then Exit Subset Form=CreateObject("Scripting.Dictionary")set File=CreateObject("Scripting.Dictionary")set upfile_5xSoft_Stream=CreateObject("Adodb.Stream")upfile_5xSoft_Stream.mode=3upfile_5xSoft_Stream.type=1upfile_5xSoft_Stream.openupfile_5xSoft_Stream.write Request.BinaryRead(Request.TotalBytes)vbEnter=Chr(13)&Chr(10)iDivLen=inString(1,vbEnter)+1strDiv=subString(1,iDivLen)iFormStart=iDivLeniFormEnd=inString(iformStart,strDiv)-1while iFormStart < iFormEndiStart=inString(iFormStart,"name=""")iEnd=inString(iStart+6,"""")mFormName=subString(iStart+6,iEnd-iStart-6)iFileNameStart=inString(iEnd+1,"filename=""")if iFileNameStart>0 and iFileNameStart<iFormEnd theniFileNameEnd=inString(iFileNameStart+10,"""")iStart=inString(iFileNameEnd+1,vbEnter&vbEnter)iEnd=inString(iStart+4,vbEnter&strDiv)if iEnd>iStart thenmFileSize=iEnd-iStart-4elsemFileSize=0end ifset theFile=new FileInfotheFile.FileName=getFileName(mFileName)theFile.FilePath=getFilePath(mFileName)theFile.FileSize=mFileSizetheFile.FileStart=iStart+4theFile.FormName=FormNamefile.add mFormName,theFileelseiStart=inString(iEnd+1,vbEnter&vbEnter)iEnd=inString(iStart+4,vbEnter&strDiv)if iEnd>iStart thenmFormValue=subString(iStart+4,iEnd-iStart-4)elsemFormValue=""end ifform.Add mFormName,mFormValueend ifiFormStart=iformEnd+iDivLeniFormEnd=inString(iformStart,strDiv)-1wendEnd SubPrivate Function subString(theStart,theLen)dim i,c,stempupfile_5xSoft_Stream.Position=theStart-1stemp=""for i=1 to theLenif upfile_5xSoft_Stream.EOS then Exit forc=ascB(upfile_5xSoft_Stream.Read(1))If c > 127 Thenif upfile_5xSoft_Stream.EOS then Exit forstemp=stemp&Chr(AscW(ChrB(AscB(upfile_5xSoft_Stream.Read(1)))&ChrB(c))) i=i+1elsestemp=stemp&Chr(c)End IfNextsubString=stempEnd functionPrivate Function inString(theStart,varStr)dim i,j,bt,theLen,strInString=0Str=toByte(varStr)theLen=LenB(Str)for i=theStart to upfile_5xSoft_Stream.Size-theLenif i>upfile_5xSoft_Stream.size then exit Functionupfile_5xSoft_Stream.Position=i-1if AscB(upfile_5xSoft_Stream.Read(1))=AscB(midB(Str,1)) thenInString=ifor j=2 to theLenif upfile_5xSoft_Stream.EOS theninString=0Exit forend ifif AscB(upfile_5xSoft_Stream.Read(1))<>AscB(MidB(Str,j,1)) thennextif InString<>0 then Exit Functionend ifnextEnd FunctionPrivate Sub Class_Terminateform.RemoveAllfile.RemoveAllset form=nothingset file=nothingupfile_5xSoft_Stream.closeset upfile_5xSoft_Stream=nothingEnd SubPrivate function GetFilePath(FullPath)If FullPath <> "" ThenGetFilePath = left(FullPath,InStrRev(FullPath, "\"))ElseGetFilePath = ""End IfEnd functionPrivate function GetFileName(FullPath)If FullPath <> "" ThenGetFileName = mid(FullPath,InStrRev(FullPath, "\")+1)ElseGetFileName = ""End IfEnd functionPrivate function toByte(Str)dim i,iCode,c,iLow,iHightoByte=""For i=1 To Len(Str)c=mid(Str,i,1)iCode =Asc(c)If iCode<0 Then iCode = iCode + 65535If iCode>255 TheniLow = Left(Hex(Asc(c)),2)iHigh =Right(Hex(Asc(c)),2)toByte = toByte & chrB("&H"&iLow) & chrB("&H"&iHigh)ElsetoByte = toByte & chrB(AscB(c))End IfNextEnd functionEnd ClassClass FileInfodim FormName,FileName,FilePath,FileSize,FileStartPrivate Sub Class_InitializeFileName = ""FilePath = ""FileSize = 0FileStart= 0FormName = ""End SubPublic function SaveAs(FullPath)dim dr,ErrorChar,iSaveAs=1if trim(fullpath)="" or FileSize=0 or FileStart=0 or FileName="" then exit function if FileStart=0 or right(fullpath,1)="/" then exit functionset dr=CreateObject("Adodb.Stream")upfile_5xSoft_Stream.position=FileStart-1upfile_5xSoft_Stream.copyto dr,FileSizedr.SaveToFile FullPath,2dr.Closeset dr=nothingSaveAs=0end functionEnd Class%><%function sqlstr(data)if not isnull(data) thensqlstr="'"& replace(data,"'","''") &"'"elsesqlstr="'"& data &"'"end ifend function%><%session.CodePage=936Server.ScriptTimeOut=600000set upload=new upload_5xsoftset file=upload.file("filexls")%><%if file.fileSize>0 thenfilename=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)filename=filename+"."filenameend=file.filenamefilenameshow=file.filenamefilenameend=split(filenameend,".")if filenameend(1)="xls" thenfilename=filename&filenameend(1)file.saveAs Server.mappath("uploadfiles/"&filename)elseresponse.write "数据格式不对!"response.write "<a href=file_upload.asp>返回"response.end()end ifset file=nothingelseresponse.write "⽂件不能为空!"response.write "<a href=file_upload.asp>返回"response.end()End ifset upload=nothing'上传XLS⽂件结束,下⾯从上传的XLS⽂件中读取数据写⼊到SQL数据库strAddr=server.MapPath("uploadfiles/"&filename)set excelconn=server.createobject("adodb.connection")excelconn.open "Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = "+strAddr+";Extended Properties='Excel 8.0;HDR=NO;IMEX=1'"set rs=server.CreateObject("adodb.recordset")set rs1=server.CreateObject("adodb.recordset")sql="select * from [Sheet1$]"rs.open sql,excelconn,1,3if not(rs.bof and rs.eof) thenrs.movenextdo while not rs.eof'response.Write(rs(1))sql1="select * from member"rs1.open sql1,conn,1,3rs1.addnewRandomizeusername=""Do While Len(username)<8 '随机密码位数num1=CStr(Chr((57-48)*rnd+48)) '0~9'num2=CStr(Chr((90-65)*rnd+65)) 'A~Znum3=CStr(Chr((122-97)*rnd+97)) 'a~zusername=username&num1&num3looprs1("username")=usernamers1("password")="bb0391ec1d7bda99"'bamboo123456 if rs(0)<>"" thenrs1("company")=rs(0)end ifif rs(1)<>"" thenrs1("realname")=rs(1)end ifif rs(2)<>"" thenrs1("sex")=sexn(rs(2))end ifif rs(3)<>"" thenrs1("prof")=rs(3)end ifif rs(4)<>"" thenrs1("tel")=rs(4)end ifif rs(5)<>"" thenrs1("mobile")=rs(5)end ifif rs(6)<>"" thenrs1("address")=rs(6)end ifif rs(7)<>"" thenrs1("area")=getclassdname(rs(7),"area","cn")end ifif rs(8)<>"" thenrs1("city")=getclassdname(rs(8),"area","cn")end ifif rs(9)<>"" thenrs1("fax")=rs(9)end ifif rs(10)<>"" thenrs1("comtype")=comtypem(rs(10))end ifif rs(11)<>"" thenrs1("operation")=rs(11)end ifrs1("passed")=1rs1("activated")=1rs1("lastlogintime")=now()rs1.updaters1.closers.movenextloopend ifrs.close()set rs=nothingset rs1=nothingexcelconn.Close()conn.close()set conn=nothingfunction sexn(str)select case strcase "男"sexn=0case "⼥"sexn=1end selectend functionfunction comtypem(str)select case strcase "⽵制品"comtypem=0case "⽵机械"comtypem=1end selectend functionfunction getclassdname(str,tablename,lang)If Not IsNumeric(id) Then Exit Functionset rs2=conn.execute ("select top 1 id from "& tablename &" where classname like '%"&str&"%'")if not rs2.eof ThenIf lang<>"" ThenIf lang="cn" Thengetclassdname=getclassdname & rs2(0)ElseIf lang="en" Thengetclassdname=getclassdname & rs2(0)End IfEnd Ifelsegetclassdname=0end ifrs2.closeEnd Function%><table width="300" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC"> <tr><th bordercolor="#F1F3F8" bgcolor="#999999" class="t" scope="row"> </th></tr><tr><th class="t" scope="row">⽂件<% response.write (filenameshow) %>导⼊成功!</th></tr><tr><th class="t" scope="row"><a href="javascript:self.close()" class="t">关闭窗⼝</a></th></tr><tr><th class="t" scope="row"><a href="1122.asp" class="t">返回</a></th></tr></table>。
asp.net实现Excel数据批量导入Web系统数据库word精品文档6页

asp实现Excel数据批量导入Web系统数据库【摘〓要】本文以学生信息管理系统中导入成绩表为例,介绍了利用asp将Excel数据批量导入到Web系统的sql数据库的实现过程。
目前,基于Web的信息管理系统,有的涉及到大量数据录入的问题,如学生信息管理系统,有学籍表、各班成绩表等信息,这些数据都已经存在Excel表中,如果能直接导入是最好的解决办法,就能避免了人工录入过程中的工作量大、效率低、容易出错等问题,其实Asp动态网页开发技术就能解决这一问题。
一般学籍表的格式和数据库的库结构的设计基本是一样的,Excel的表头和数据库的字段能够一一对应,但成绩表就不一样了,由于全校班级不同,所上的课程不同,在数据库设计时就不能和Excel 成绩表相同,下面我就以导入成绩表为例来说明如何实现将Excel数据批量导入到Web系统的Sql数据库中。
1、数据结构设计Excel成绩表结构如下:Sql数据库成绩表t_scores结构设计如下:由于学号是唯一的,所以不用设置姓名、班级、系部等字段,根据学号在学籍表中都能查到,避免了数据冗余。
通过上述表结构可以看出,需要把Excel表的不同的课程名作为Sql数据库成绩表中的一条记录中的一个内容导入,即一门课程占一条记录,以下来说明具体实现过程。
2、导入成绩界面设计导入数据必须把数据文件上传,上传所用控件为FileUpload,用来浏览上传文件,然后再用一个Button按钮控件,负责执行导入成绩这一过程,当点击“导入成绩”按钮时,系统自动执行Button1_Click事件程序。
再设计几个Label控件用来显示提示信息。
HTML代码如下:3、导入Excel数据程序分析3.1、添加引用为了能够上传、连接、读取Excel文件,要引入System.IO、System.Data、System.Data.OleDb命名空间,若要对SQL Server数据库操作,必须引入System.Data.Sql、System.Data.SqlClient命名空间。
用asp将excel表数据导入access数据库的代码

Set rst = Server.CreateObject("ADODB.Recordset")
Sql2="select usrname,usrpwd,question,answer,sj from company"
rst.Open Sql2,sqlconn,1,3
if rst.Fields.Count-1=rs.Fields.Count-1 then '如果字段个数据相同则
Sql2="select id,usrname,usrpwd,question,answer,sj from company"
rst.Open Sql2,sqlcields.Count-1
%>
<td nowrap bgcolor="#999999"> <div align="center"><font color="#FFFFFF"><%=rst(i).Name%>[/red]</div></td>
sqlconn.Open"provider=microsoft.jet.oledb.4.0;data source="& Server.MapPath("../#bijiadata/company.mdb")
sqlconn.execute("delete * from company")
%>
导入的access数据库的数据如下:
<table border="1" align="center" cellpadding="4" cellspacing="4" bordercolordark="#FFFFFF">
asp实现excel中的数据导入数据库

asp实现excel中的数据导⼊数据库asp实现excel中的数据导⼊数据库<% Response.CodePage=65001%><% Response.Charset="UTF-8" %><%wenjian = request.Form("select")'获取⽂件扩展名ext = FileExec(wenjian)'判断⽂件扩展名if ext <> "xls" thenresponse.Write("<script>alert('⽂件类型不对,请核实!');window.location.href='index.html';</script>")response.End()end ifDim objConn,objRSDim strConn,strSqlset objConn=Server.CreateObject("ADODB.Connection")set objRS=Server.CreateObject("ADODB.Recordset")excelFile = server.mappath(wenjian)'针对excel 2007strConn = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & excelFile & ";" & "Extended Properties=Excel 8.0;"objConn.Open strConnstrSql="SELECT * FROM [Sheet1$]"objRS.Open strSql,objConn,1,1objRS.MoveFirst%><!--#include file="conn.asp"--><%'循环excel中所有记录while not objRS.eofset rs = Server.CreateObject("Adodb.Recordset")'查询语句sql_s = "select * from ceshi where lname='" & objRS(0) & "' and old='" & objRS(1) & "' and sex='" & objRS(2) & "' and guojia='" & objRS(3) & "' and QQ='" & objRS(4) & "'" rs.open sql_s, conn, 1, 1'重复的数据不做录⼊操作if rs.eof then'插⼊语句'****excel中第⼀条不会被录⼊****sql = "insert into ceshi (lname, old, sex, guojia, QQ)values ('" & objRS(0) & "', '" & objRS(1) & "', '" & objRS(2) & "', '" & objRS(3) & "', '" & objRS(4) & "')"'执⾏插⼊conn.execute(sql)end ifobjRS.MoveNextrs.closeset rs = nothingwend'⼜到了各种关闭的时候conn.closeset conn = nothingobjRS.CloseobjConn.Closeset objRS = Nothingset objConn = Nothingresponse.Write("<script>alert('导⼊成功');window.location.href='index.html';</script>")response.End()Function FileExec(fileName)FileExec = Mid(fileName,Instr(fileName,".")+1,Len(fileName)-Instr(fileName,"."))End Function%>再分享⼀个简化版的代码wenjian=request.Form("floor")fileext=mid(wenjian,InStrRev(wenjian,".")+1)if lcase(fileext)<>"xls" thenresponse.write "<script>alert ('⽂件格式不对,请上传Excel⽂件');window.location.href='updateFloor.asp';</script>"response.endend ifset conne=server.CreateObject("ADODB.Connection")connStre="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath( ""&wenjian&"" )&";Extended Properties='Excel 8.0;HDR=YES;IMEX=1';"conne.open connStreSqle="select * from [sheet1$] "Set rse = Server.CreateObject("ADODB.Recordset")rse.open sqle,conne,1,1'验证hang=2do while not rse.eof'名称不能为空if trim(rse(0))<>"" thenelsemess="第"& hang &"⾏名称为空,请检查!"response.Write"<script>alert('"& mess &"').window.location.href='updateFloor.asp'</script>"response.End()end ifrse.movenexthang=hang+1looprse.movefirstdo while not rse.eofset rst=server.CreateObject("adodb.recordset")sqlt="select * from Sellman"rst.open sqlt,conn,1,3rst.addnew()rst("CompanyName")=c2(rse(0))rst("CompanyInfo")=c2(rse(1))rst("address")=c2(rse(2))rst("tel")=c2(rse(3))&" "&c2(rse(7))rst("Fax")=c2(rse(4))rst("linkman")=c2(rse(5))rst("Homepage")=c2(rse(8))rst("Email")=c2(rse(6))rst.update()rst.closeset rst=nothingrse.movenextlooprse.closeset rse=nothingresponse.Write "<script>alert('导⼊成功!');location.href='updateFloor.asp';</script>"其实简单的说象access 数据库⼀样,把excel⽂件打开,再进⾏读再写到access中你要写到sqlserver中就把写的过程改⼀下就成了看下代码:dim conndim conn2set conn=CreateObject("ADODB.Connection")conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=;Data Source=c:\book1.mdb"set conn2=CreateObject("ADODB.Connection")conn2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=;Extended properties=Excel 5.0;Data Source=c:\book1.xls"sql = "SELECT * FROM [Sheet1$]"set rs = conn2.execute(sql)while not rs.eofsql = "insert into xxx([a],[b],[c],[d]) values('"& fixsql(rs(0)) &"','"& fixsql(rs(1)) &"','"& fixsql(rs(2)) &"','"& fixsql(rs(3)) &"')"conn.execute(sql)rs.movenextwendconn.closeset conn = nothingconn2.closeset conn2 = nothingfunction fixsql(str)dim newstrnewstr = strif isnull(newstr) thennewstr = ""elsenewstr = replace(newstr,"'","''")end iffixsql = newstrend function。
asp将excel导入数据库的方法

asp将excel导入数据库的方法下面,由小编教你怎么用代码的方式用asp将excel导入到access 的数据库吧Excel中的数据导入到Access中,前提是在Access中的表已经建好。
dim conn dim conn2set conn=CreateObject("ADODB.Connection")conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=;Data Source=c:\book1.mdb"set conn2=CreateObject("ADODB.Connection")conn2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=;Extended properties=Excel 5.0;Data Source=c:\book1.xls"sql = "select * FROM [Sheet1$]" set rs = conn2.execute(sql) while not rs.eofsql = "insert into xxx([a],[bb],[c],[d]) values('"& fixsql(rs(0)) &"','"& fixsql(rs(1)) &"','"& fixsql(rs(2)) &"','"& fixsql(rs(3)) &"')"conn.execute(sql) rs.movenext wendconn.closeset conn = nothing conn2.closeset conn2 = nothingfunction fixsql(str) dim newstr newstr = strif isnull(newstr) then newstr = "" elsenewstr = replace(newstr,"'","'") end iffixsql = newstr end function导入到Sql Server数据库中时,如果Excel文件和数据库不在同一台服务器上时,请参考上面的代码。
ASP.NET之Excel下载模板、导入、导出操作

之Excel下载模板、导⼊、导出操作本⽂介绍了下Excel下载模板、导⼊、导出操作,供⼤家参考,具体内容如下1.下载模板功能protected void btnDownload_Click(object sender, EventArgs e){var path = Server.MapPath(("upfiles\\") + "test.xlt"); //upfiles-⽂件夹 test.xlt-⽂件var name = "test.xlt";try{var file = new FileInfo(path);Response.Clear();Response.Charset = "GB2312";Response.ContentEncoding = System.Text.Encoding.UTF8;Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(name)); //头信息,指定默认⽂件名Response.AddHeader("Content-Length", file.Length.ToString());//显⽰下载进度Response.ContentType = "application/ms-excel"; // 指定返回的是⼀个不能被客户端读取的流,必须被下载Response.WriteFile(file.FullName); // 把⽂件流发送到客户端pleteRequest();}catch (Exception ex){Response.Write("<script>alert('错误:" + ex.Message + ",请尽快与管理员联系')</script>");}}2.导⼊数据Excel数据导⼊到数据库中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
loop
rse.movefirst
do while not rse.eof
setrst=server.CreateObject("adodb.recordset")
sqlt="select * fromSellman"
rst.opensqlt,conn,1,3
rst.addnew()
objConn.OpenstrConn
strSql="SELECT * FROM [Sheet1$]"
objRS.OpenstrSql,objConn,1,1
objRS.MoveFirst
%><!--#include file="conn.asp"--><%
'循环excel中所有记录
while not objRS.eof
setrs=Server.CreateObject("Adodb.Recordset")
'查询语句
sql_s= "select * fromceshiwherelname='"&objRS(0) & "' and old='"&objRS(1) & "' and sex='"&objRS(2) & "' andguojia='"&objRS(3) & "' and QQ='"&objRS(4) & "'"
rst("Homepage")=c2(rse(8))
rst("Email")=c2(rse(6))
rst.update()
rst.close
setrst=nothing
rse.movenext
loop
rse.close
setrse=nothing
response.Write"<script>alert('导入成功!');location.href='updateFloor.asp';</script>"
rs.opensql_s,conn, 1, 1
'重复的数据不做录入操作
if rs.eof then
'插入语句
'****excel中第一条不会被录入****
sql= "insert intoceshi(lname, old, sex,guojia, QQ)values ('"&objRS(0) & "', '"&objRS(1) & "', '"&objRS(2) & "', '"&objRS(3) & "', '"&objRS(4) & "')"
else
newstr= replace(newstr,"'","''")
end if
fixsql=newstr
end function
iflcase(fileext)<>"xls"then
response.write"<script>alert ('文件格式不对,请上传Excel文件');window.location.href='updateFloor.asp';</script>"
response.end
end if
setconne=server.CreateObject("ADODB.Connection")
<%Response.Charset="UTF-8"%>
<%
wenjian=request.Form("select")
'获取文件扩展名
ext =FileExec(wenjian)
'判断文件扩展名
if ext <> "xls"then
response.Write("<script>alert('文件类型不对,请核实!');window.location.href='index.html';</script>")
else
mess="第"& hang &"行名称为空,请检查!"
response.Write"<script>alert('"& mess &"').window.location.href='updateFloor.asp'</script>"
response.End()
end if
rse.movenext
Sqle="select * from [sheet1$] "
Setrse=Server.CreateObject("ADODB.Recordset")
rse.opensqle,conne,1,1
'验证
hang=2
do while not rse.eof
'名称不能为空
if trim(rse(0))<>""then
connStre="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath( ""&wenjian&"")&";Extended Properties='Excel 8.0;HDR=YES;IMEX=1';"
conne.openconnStre
excelFile=server.mappath(wenjian)
'针对excel 2007
strConn= "Provider=Microsoft.ACE.OLEDB.12.0; Data Source="&excelFile& ";"& "Extended Properties=Excel 8.0;"
response.Write("<script>alert('导入成功');window.location.href='index.html';</script>")
response.End()
FunctionFileExec(fileName)
FileExec=Mid(fileName,Instr(fileName,".")+1,Len(fileName)-Instr(fileName,"."))
conn.Open"Provider=Microsoft.Jet.OLEDB.4.0;JetOLEDB:DatabasePassword=;Data Source=c:\book1.mdb"
set conn2=CreateObject("ADODB.Connection")
conn2.Open "Provider=Microsoft.Jet.OLEDB.4.0;JetOLEDB:DatabasePassword=;Extended properties=Excel 5.0;Data Source=c:\book1.xls"
EndFunction
%>
再分享一个简化版的代码
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
wenjian=request.Form("floor")
fileext=mid(wenjian,InStrRev(wenjian,".")+1)
asp实现excel中的数据导入数据库
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48