تحميل ملف ASP (الإصدارات المجانية) PDF للتنزيل
<%
الخيار صريح
Sub CheckXlDriver()
على خطأ استئناف التالي
خافت vConnString
ديم أوكون، أويير
' حاول الاتصال بالملف NUL:
vConnString = DRIVER={برنامج تشغيل Microsoft Excel (*.xls)};DBQ=NUL:
تعيين oConn = CreateObject(ADODB.Connection)
أوكون.افتح vConnString
لكل خطأ في oConn.Errors
عندما يبلغ برنامج تشغيل Excel عن فشل في إنشاء الملف،
' ثم يجب تثبيته والعمل ؛-))
إذا كان oErr.NativeError = -5036 إذن
الخروج من الباطن
نهاية إذا
التالي
الاستجابة. موفر الكتابة أو برنامج التشغيل غير متوفر. (إعادة) تثبيت MDAC.
الاستجابة.كتابة ست عشرية (رقم الخطأ) & & خطأ.الوصف &
لكل خطأ في oConn.Errors
Response.Write hex(oErr.Number) & & oErr.NativeError & & oErr.Description &
التالي
الاستجابة.النهاية
نهاية الفرعية
الدالة GetConnection(vConnString)
على خطأ استئناف التالي
تعيين GetConnection = Server.CreateObject(ADODB.Connection)
GetConnection.افتح vConnString
إذا Err.Number <> 0 ثم
تعيين GetConnection = لا شيء
نهاية إذا
وظيفة النهاية
وظيفة OptionTag(vChoice,vTrue)
خافت مقابل محدد
إذا كان صحيحا ثم
vSelected = محدد
نهاية إذا
OptionTag = <option & vSelected & > & _
Server.HtmlEncode(vChoice) & </option> & vbCrLf
وظيفة النهاية
تم فحص الوظيفة (vTrue)
إذا كان صحيحا ثم
تم التحقق = تم التحقق منه
نهاية إذا
وظيفة النهاية
خيارات كتاب الوظائف (vXlFile)
خافت vServerFolder
ديم أوفس، أوفولدر، أوفيل
خافت مقابل محدد
vServerFolder = Server.MapPath(.)
مجموعة oFs = Server.CreateObject(Scripting.FileSystemObject)
تعيين oFolder = oFs.GetFolder(vServerFolder)
لكل oFile في oFolder.Files
إذا oFile.Type = ورقة عمل Microsoft Excel ثم
vSelected = (oFile.Name = vXlFile)
BookOptions = BookOptions & _
OptionTag(oFile.Name, vSelected)
نهاية إذا
التالي
تعيين المجلد = لا شيء
مجموعة oFs = لا شيء
وظيفة النهاية
الوظيفة NamedRangeOptions(oConn، vXlRange، vTableType)
مخططات خافتة
خافت مقابلمحدد
NamedRangeOptions = OptionTag(فارغ، فارغ)
إذا كان TypeName(oConn) = الاتصال إذن
تعيين oSchemaRs = oConn.OpenSchema(adSchemaTables)
افعل بينما لا oSchemaRs.EOF
إذا كان oSchemaRs(TABLE_TYPE) = vTableType إذن
vSelected = (oSchemaRs(TABLE_NAME) = vXlRange)
NamedRangeOptions = NamedRangeOptions & _
علامة الخيار (oSchemaRs(TABLE_NAME)، vSelected)
نهاية إذا
oSchemaRs.MoveNext
حلقة
نهاية إذا
وظيفة النهاية
دالة DataTable (oConn، vXlRange، vXlHasHeadings)
على خطأ استئناف التالي
"من OleDbVbc.inc
Const DB_E_ERRORSINCOMMAND = &H80040E14
خافت أوس، أوفيلد
خافت vThTag، vThEndTag
إذا vXlHasHeadings ثم
vThTag = <th>
vThEndTag = </th>
آخر
vThTag = <td>
vThEndTag = </td>
نهاية إذا
DataTable = <حدود الجدول=1>
إذا كان TypeName(oConn) = الاتصال إذن
تعيين oRs = oConn.Execute([ & vXlRange & ])
إذا كان oConn.Errors.Count> 0 ثم
لكل oConnErr في oConn.Errors
إذا كان oConnErr.Number = DB_E_ERRORSINCOMMAND إذن
جدول البيانات = جدول البيانات & _
<tr><td>لا يوجد مثل هذا النطاق :</td><th> & vXlRange & </th></tr>
آخر
جدول البيانات = جدول البيانات & _
<tr><td> & oConnErr.Description & </td></tr>
نهاية إذا
التالي
آخر
DataTable = DataTable & <tr>
لكل حقل في حقول oRs
DataTable = DataTable وvThTag وoField.Name وvThEndTag
التالي
DataTable = DataTable & </tr>
افعل بينما لا oRs.Eof
DataTable = DataTable & <tr>
لكل حقل في حقول oRs
DataTable = DataTable & <td> & oField.Value & </td>
التالي
DataTable = DataTable & </tr>
أورس.موفنيكست
حلقة
نهاية إذا
تعيين oRs = لا شيء
آخر
DataTable = DataTable & <tr><td>الملف مقفل بواسطة تطبيق آخر أو لا يمكن الوصول إليه بطريقة أخرى. لا يمكن الاستمرار.</td></tr>
نهاية إذا
DataTable = DataTable & </table>
وظيفة النهاية
' --رئيسي--
%>
<أتش تي أم أل>
<الرأس>
<title>اقرأ Excel</title>
<لغة البرنامج النصي=جافا سكريبت>
<!--
الدالة XlBook_onchange(theForm) {
مع (النموذج) {
XlSheet.selectedIndex = 0;
XlSheet.disabled = true;
XlNamedRange.selectedIndex = 0;
XlNamedRange.disabled = true;
XlTypedRange.value = A:IV;
}
}
الدالة XlSheet_onchange(theForm) {
مع (النموذج) {
XlNamedRange.selectedIndex = 0;
XlTypedRange.value = XlSheet.options[XlSheet.selectedIndex].text;
}
}
الدالة XlNamedRange_onchange(theForm) {
مع (النموذج) {
XlSheet.selectedIndex = 0;
XlTypedRange.value = XlNamedRange.options[XlNamedRange.selectedIndex].text;
}
}
الدالة XlTypedRange_onchange(theForm) {
مع (النموذج) {
XlSheet.selectedIndex = 0;
XlNamedRange.selectedIndex = 0;
}
}
//-->
</النص>
</الرأس>
<الجسم>
<%
ديم vXlFile، vXlFilePath
ديم vXlRange، vXlHasHeadings
خافت vمعطل
خافت vConnString
ديم أوكون، أوكونير
Const adSchemaTables = 20 ' من adovbs.inc
CheckXlDriver 'تأكد من أنه يعمل
vXlFile = طلب(XlBook)
إذا كان vXlFile <> فارغًا إذن
vXlRange = طلب(XlTypedRange)
إذا كان vXlRange = فارغًا إذن
vXlRange = أ:IV
آخر
vXlRange = استبدال (vXlRange، !، $)
نهاية إذا
vXlHasHeadings = طلب(XlHasHeadings)
"إنشاء اتصال
vXlFilePath = Server.MapPath(vXlFile)
vConnString = DRIVER={برنامج تشغيل Microsoft Excel (*.xls)};ReadOnly=1;DBQ= & _ vXlFilePath
تعيين oConn = GetConnection(vConnString)
آخر
vDisabled = معطل
نهاية إذا
%>
<اسم النموذج=طريقة MyForm=إجراء POST=<%=Request.ServerVariables(SCRIPT_NAME)%>>
<حدود الجدول=1 العرض=100%>
<تر>
<th>المصنف:</th>
<TD>
<اختر اسم=XlBook LANGUAGE=javascript onchange=return XlBook_onchange(MyForm)>
<%= BookOptions(vXlFile) %>
</select></td>
<td align=center>ورقة العمل :</td>
<td><select <%=vDisabled%> name=XlSheet LANGUAGE=javascript onchange=return XlSheet_onchange(MyForm)>
<%= NamedRangeOptions(oConn, vXlRange, SYSTEM TABLE) %>
</select></td>
</tr>
<تر>
<th>النطاق:</th>
<td><نوع الإدخال=اسم النص=XlTypedRange LANGUAGE=javascript onchange=return XlTypedRange_onchange(MyForm)
القيمة =<%= vXlRange %>></td>
<td align=center>النطاق المسمى :</td>
<td><select <%=vDisabled%> name=XlNamedRange LANGUAGE=javascript onchange=return XlNamedRange_onchange(MyForm)>
<%= NamedRangeOptions(oConn, vXlRange, TABLE) %>
</select></td>
</tr>
<تر>
<ال>
<ص> </ث>
<td كولسبان=3>
<نوع الإدخال=اسم مربع الاختيار=XlHasHeadings
<%= IsChecked(vXlHasHeadings) %>
value=True> إظهار الصف الأول كعناوين أعمدة</td>
</tr>
<تر>
<ال>
<ص> </ث>
<td كولسبان=3>
<a href=<%= vXlFile %>><%= vXlFile %></a>
</TD>
</tr>
</الجدول>
<نوع الإدخال=قيمة الإرسال=اسم الإرسال=cmdSubmit>
<نوع الإدخال=قيمة إعادة الضبط=اسم إعادة الضبط=cmdReset>
</النموذج><ساعة>
<%
إذا كان vXlRange <> فارغًا إذن
الاستجابة. كتابة DataTable (oConn، vXlRange، vXlHasHeadings)
نهاية إذا
%>
</الجسم>
</html>