يعد الكود الخاص بـ ASP لاستيراد بيانات Excel إلى SQL Server فوضويًا بعض الشيء، لذا يمكنك البحث عنه وفقًا لاحتياجاتك. انسخ رمز الكود كما يلي:
<إجراء النموذج=طريقةinsert.asp=post enctype=اسم بيانات النموذج/متعدد الأجزاء=form1 onSubmit=b1_onclick()>
<عرض الجدول=500 حد=1 محاذاة=حشوة الخلية المركزية=0 تباعد الخلايا=0>
<تر>
<td colspan=2 bgcolor=#999999 class=t>اختر ملفًا
</TD>
</tr>
<تر>
<td colspan=2 class=t> </td>
</tr>
<تر>
<td width=126 class=t>حدد ملف (اكسل)
</TD>
<عرض td=368 فئة=t><label>
<اسم الإدخال=نوع filexls=حجم الملف=35>
</label></td>
</tr>
<تر>
<td colspan=2 class=t>
<التسمية>
<نوع الإدخال=اسم الإرسال=قيمة الإرسال=استيراد البيانات>
</التسمية>
<a href=1122.asp class=t>إرجاع</a>
</TD>
</tr>
</الجدول>
</النموذج>
<!--#include virtual=/inc/clsdbctrl.asp-->
<!--#include virtual=/inc/function.asp-->
<%
خافت upfile_5xSoft_Stream
فئة upload_5xSoft
نموذج خافت، ملف، الإصدار
فئة فرعية خاصة_تهيئة
خافت iStart،iFileNameStart،iFileNameEnd،iEnd،vbEnter،iFormStart،iFormEnd،theFile
خافت strDiv،mFormName،mFormValue،mFileName،mFileSize،mFilePath،iDivLen،mStr
الإصدار = برنامج التحميل الخاص لـ Ren Xiang
إذا كان Request.TotalBytes <1، فقم بالخروج من Sub
تعيين النموذج = CreateObject (Scripting.Dictionary)
تعيين ملف = CreateObject (Scripting.Dictionary)
إعداد upfile_5xSoft_Stream=CreateObject(Adodb.Stream)
upfile_5xSoft_Stream.mode=3
upfile_5xSoft_Stream.type=1
upfile_5xSoft_Stream.open
upfile_5xSoft_Stream.write Request.BinaryRead(Request.TotalBytes)
vbEnter=Chr(13)&Chr(10)
iDivLen=inString(1,vbEnter)+1
strDiv=subString(1,iDivLen)
iFormStart=iDivLen
iFormEnd=inString(iformStart,strDiv)-1
بينما iFormStart <iFormEnd
iStart=inString(iFormStart,name=)
إند=inString(iStart+6,)
mFormName=subString(iStart+6,iEnd-iStart-6)
iFileNameStart=inString(iEnd+1,filename=)
إذا iFileNameStart>0 وiFileNameStart<iFormEnd ثم
iFileNameEnd=inString(iFileNameStart+10,)
mFileName=subString(iFileNameStart+10,iFileNameEnd-iFileNameStart-10)
iStart=inString(iFileNameEnd+1,vbEnter&vbEnter)
iEnd=inString(iStart+4,vbEnter&strDiv)
إذا iEnd>iStart ثم
mFileSize=iEnd-iStart-4
آخر
mFileSize=0
نهاية إذا
اضبط theFile=new FileInfo
theFile.FileName=getFileName(mFileName)
theFile.FilePath=getFilePath(mFileName)
theFile.FileSize=mFileSize
theFile.FileStart=iStart+4
theFile.FormName=FormName
file.add mFormName,theFile
آخر
iStart=inString(iEnd+1,vbEnter&vbEnter)
iEnd=inString(iStart+4,vbEnter&strDiv)
إذا iEnd>iStart ثم
mFormValue=subString(iStart+4,iEnd-iStart-4)
آخر
mFormValue=
نهاية إذا
form.Add mFormName،mFormValue
نهاية إذا
iFormStart=iformEnd+iDivLen
iFormEnd=inString(iformStart,strDiv)-1
com.wind
نهاية الفرعية
سلسلة فرعية للوظيفة الخاصة (theStart، theLen)
ديمي، ج، الجذعية
upfile_5xSoft_Stream.Position=theStart-1
الجذعية =
لأني=1 إلىLen
إذا كان upfile_5xSoft_Stream.EOS ثم قم بالخروج لـ
c=ascB(upfile_5xSoft_Stream.Read(1))
إذا ج > 127 ثم
إذا كان upfile_5xSoft_Stream.EOS ثم قم بالخروج لـ
stemp=stemp&Chr(AscW(ChrB(AscB(upfile_5xSoft_Stream.Read(1)))&ChrB(c)))
ط=ط+1
آخر
الجذعية = الجذعية و مركز حقوق الإنسان (ج)
نهاية إذا
التالي
subString=stemp
وظيفة النهاية
دالة خاصة inString(theStart,varStr)
خافت ط، ي، بت، ذالين، شارع
سلسلة = 0
Str=toByte(varStr)
theLen=LenB(Str)
لـ i=theStart إلى upfile_5xSoft_Stream.Size-theLen
إذا كنت>upfile_5xSoft_Stream.size، فقم بالخروج من الوظيفة
upfile_5xSoft_Stream.Position=i-1
إذا AscB(upfile_5xSoft_Stream.Read(1))=AscB(midB(Str,1)) إذن
InString=i
لـ j=2 إلىLen
إذا upfile_5xSoft_Stream.EOS ثم
inString=0
الخروج ل
نهاية إذا
إذا كان AscB(upfile_5xSoft_Stream.Read(1))<>AscB(MidB(Str,j,1)) إذن
سلسلة = 0
الخروج ل
نهاية إذا
التالي
إذا كان InString<>0 ثم قم بالخروج من الوظيفة
نهاية إذا
التالي
وظيفة النهاية
فئة فرعية خاصة_إنهاء
form.RemoveAll
file.RemoveAll
تعيين النموذج = لا شيء
تعيين الملف = لا شيء
upfile_5xSoft_Stream.Close
إعداد upfile_5xSoft_Stream=لا شيء
نهاية الفرعية
الوظيفة الخاصة GetFilePath(FullPath)
إذا كان FullPath <> إذن
GetFilePath = left(FullPath,InStrRev(FullPath, /))
آخر
GetFilePath =
نهاية إذا
وظيفة النهاية
وظيفة خاصة GetFileName (FullPath)
إذا كان FullPath <> إذن
GetFileName = mid(FullPath,InStrRev(FullPath, /)+1)
آخر
GetFileName =
نهاية إذا
وظيفة النهاية
وظيفة خاصة toByte(Str)
خافت i,iCode,c,iLow,iHigh
toByte=
لأني = 1 إلى لين (ستر)
ج = منتصف (شارع، ط، 1)
كود = تصاعدي (ج)
إذا كان iCode<0 فإن iCode = iCode + 65535
إذا iCode> 255 ثم
iLow = اليسار(Hex(تصاعدي(ج)),2)
iHigh =Right(Hex(تصاعدي(c)),2)
toByte = toByte & chrB(&H&iLow) & chrB(&H&iHigh)
آخر
toByte = toByte & chrB(AscB(c))
نهاية إذا
التالي
وظيفة النهاية
نهاية الفصل
معلومات ملف الفئة
اسم النموذج الخافت، اسم الملف، FilePath، حجم الملف، FileStart
فئة فرعية خاصة_تهيئة
اسم الملف =
مسار الملف =
حجم الملف = 0
بداية الملف = 0
اسم النموذج =
نهاية الفرعية
الوظيفة العامة SaveAs(FullPath)
خافت الدكتور،ErrorChar،i
حفظ باسم=1
إذا كان تقليم (fullpath) = أو FileSize = 0 أو FileStart = 0 أو FileName = ثم قم بالخروج من الوظيفة
إذا FileStart=0 أو right(fullpath,1)=/ ثم قم بالخروج من الوظيفة
تعيين dr=CreateObject(Adodb.Stream)
الوضع = 3
نوع الدكتور = 1
فتح
upfile_5xSoft_Stream.position=FileStart-1
upfile_5xSoft_Stream.copyto dr,FileSize
dr.SaveToFile FullPath،2
إغلاق
تعيين الدكتور = لا شيء
حفظ باسم=0
وظيفة النهاية
نهاية الفصل
%>
<%
وظيفة sqlstr (البيانات)
إذا لم يكن فارغًا (بيانات) إذن
sqlstr='& استبدال(بيانات,','') &'
آخر
sqlstr='& البيانات &'
نهاية إذا
وظيفة النهاية
%>
<%
جلسة.CodePage=936
Server.ScriptTimeOut=600000
تعيين التحميل = التحميل الجديد_5xsoft
تعيين الملف=upload.file(filexls)
%>
<%
إذا file.fileSize> 0 ثم
اسم الملف=السنة(الآن)&الشهر(الآن)&اليوم(الآن)&الساعة(الآن)&الدقيقة(الآن)&الثانية(الآن)
اسم الملف=اسم الملف+.
filenameend=file.filename
filenameshow=file.filename
اسم الملف = تقسيم (اسم الملف،.)
إذا filenameend(1)=xls إذن
اسم الملف = اسم الملف واسم الملف (1)
file.saveAs Server.mappath(uploadfiles/&filename)
آخر
تنسيق بيانات الاستجابة.كتابة خاطئ!
Response.write <a href=file_upload.asp>return
استجابة. النهاية ()
نهاية إذا
تعيين الملف = لا شيء
آخر
لا يمكن أن يكون ملف Response.write فارغاً!
Response.write <a href=file_upload.asp>return
استجابة. النهاية ()
انتهي إذا
تعيين التحميل = لا شيء
"اكتمل تحميل ملف XLS. بعد ذلك، اقرأ البيانات من ملف XLS الذي تم تحميله واكتبها في قاعدة بيانات SQL.
strAddr=server.MapPath(uploadfiles/&filename)
تعيين excelconn=server.createobject(adodb.connection)
موفر excelconn.open = Microsoft.Jet.OLEDB.4.0 مصدر البيانات = +strAddr+;خصائص موسعة='Excel 8.0;HDR=NO;IMEX=1'
تعيين rs=server.CreateObject(adodb.recordset)
تعيين rs1=server.CreateObject(adodb.recordset)
sql=select * من [Sheet1$]
rs.open SQL، Excelconn، 1،3
إذا لم يكن (rs.bof و rs.eof) ثم
rs.movenext
تفعل في حين لا rs.eof
'الاستجابة.كتابة (RS(1))
'الاستجابة. النهاية ()
sql1=اختر * من العضو
rs1.open sql1,كون,1,3
rs1.addnew
عشوائية
اسم المستخدم=
افعل بينما Len(اسم المستخدم)<8 'أرقام كلمة مرور عشوائية
num1=CStr(Chr((57-48)*rnd+48)) '0~9
'num2=CStr(Chr((90-65)*rnd+65)) 'A~Z
num3=CStr(Chr((122-97)*rnd+97)) 'a~z
اسم المستخدم=اسم المستخدم&num1&num3
حلقة
rs1(اسم المستخدم)=اسم المستخدم
rs1(كلمة المرور)=bb0391ec1d7bda99'bamboo123456
إذا كان rs(0)<> إذن
rs1(الشركة)=rs(0)
نهاية إذا
إذا rs(1)<> إذن
rs1(الاسم الحقيقي)=rs(1)
نهاية إذا
إذا كانت rs(2)<> إذن
rs1(الجنس)=sexn(RS(2))
نهاية إذا
إذا كانت rs(3)<> إذن
rs1(الأستاذ)=rs(3)
نهاية إذا
إذا كانت rs(4)<> إذن
rs1(الهاتف)=rs(4)
نهاية إذا
إذا كانت rs(5)<> إذن
rs1(المحمول)=rs(5)
نهاية إذا
إذا كانت rs(6)<> إذن
rs1(العنوان)=rs(6)
نهاية إذا
إذا كانت rs(7)<> إذن
rs1(منطقة)=getclassdname(rs(7),منطقة,cn)
نهاية إذا
إذا كانت rs(8)<> إذن
rs1(مدينة)=getclassdname(rs(8),منطقة,cn)
نهاية إذا
إذا كانت rs(9)<> إذن
rs1(فاكس)=rs(9)
نهاية إذا
إذا rs(10)<> إذن
rs1(comtype)=comtypem(rs(10))
نهاية إذا
إذا rs(11)<> إذن
rs1(العملية)=rs(11)
نهاية إذا
rs1(مقبول)=1
rs1(المنشط)=1
rs1(آخر وقت لتسجيل الدخول)=الآن()
rs1.update
rs1.إغلاق
rs.movenext
حلقة
نهاية إذا
رس.إغلاق ()
تعيين RS=لا شيء
تعيين rs1=لا شيء
اكسلكون.إغلاق()
تعيين التفوق = لا شيء
كون.إغلاق ()
تعيين كون = لا شيء
وظيفة sexn(شارع)
حدد حالة الحالة
حالة ذكر
الجنس=0
حالة أنثى
الجنس=1
حدد النهاية
وظيفة النهاية
دالة comtypem (شارع)
حدد حالة الحالة
حالة منتجات الخيزران
comtypem=0
آلات حالة الخيزران
comtypem=1
حدد النهاية
وظيفة النهاية
الدالة getclassdname (str، tablename، lang)
إذا لم يكن IsNumeric(id) فاخرج من الوظيفة
تعيين rs2=conn.execute (حدد المعرف الأول من & اسم الجدول ومكان اسم الفئة مثل '%&str&%')
إن لم يكن rs2.eof ثم
إذا لانج<> ثم
إذا لانج = cn ثم
getclassdname=getclassdname & rs2(0)
ElseIf lang=en ثم
getclassdname=getclassdname & rs2(0)
نهاية إذا
نهاية إذا
آخر
getclassdname=0
نهاية إذا
rs2.إغلاق
وظيفة النهاية
%>
<عرض الجدول=300 حد=1 محاذاة=حشوة الخلية المركزية=0 تباعد الخلايا=0 bordercolor=#CCCCCC>
<تر>
<th bordercolor=#F1F3F8 bgcolor=#999999 class=tscope=row> </th>
</tr>
<تر>
<th class=tscope=row>الملف<% Response.write (filenameshow) %>تم استيراده بنجاح! </ال>
</tr>
<تر>
<th class=tscope=row><a href=javascript:self. Close() class=t>إغلاق النافذة</a></th>
</tr>
<تر>
<th class=tscope=row><a href=1122.asp class=t>العودة</a></th>
</tr>
</الجدول>