加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

用ASP构建(生成)PDF文件的代码

发布时间:2023-07-24 14:28:57 所属栏目:Asp教程 来源:
导读:下面即是用ASP创建(生成)PDF文件的代码

<%

Option Explicit

Sub CheckXlDriver()

On Error Resume Next

Dim vConnString

Dim oConn, oErr

&#39; try to connect to file NUL:

vConn
下面即是用ASP创建(生成)PDF文件的代码
 
<%
 
Option Explicit
 
Sub CheckXlDriver()
 
On Error Resume Next
 
Dim vConnString
 
Dim oConn, oErr
 
' try to connect to file NUL:
 
vConnString = "DRIVER={Microsoft Excel Driver (*.xls)};DBQ=NUL:"
 
Set oConn = CreateObject("ADODB.Connection")
 
oConn.Open vConnString
 
For Each oErr in oConn.Errors
 
' when the Excel driver reports "Failure creating file",
 
' then it must be installed and working ;-))
 
If oErr.NativeError = -5036 Then
 
Exit Sub
 
End If
 
Next
 
Response.Write "Provider or Driver not available. (Re-)Install MDAC.
 
"
 
Response.Write hex(Err.Number) & " " & Err.Description & "
 
"
 
For Each oErr in oConn.Errors
 
Response.Write hex(oErr.Number) & " " & oErr.NativeError & " " & oErr.Description & "
 
"
 
Next
 
Response.End
 
End Sub
 
Function GetConnection(vConnString)
 
On Error Resume Next
 
Set GetConnection = Server.CreateObject("ADODB.Connection")
 
GetConnection.Open vConnString
 
If Err.Number <> 0 Then
 
Set GetConnection = Nothing
 
End If
 
End Function
 
Function OptionTag(vChoice,vTrue)
 
Dim vSelected
 
If vTrue Then
 
vSelected = "selected"
 
End If
 
OptionTag = "<option " & vSelected & ">" & _
 
Server.HtmlEncode(vChoice) & "</option>" & vbCrLf
 
End Function
 
Function IsChecked(vTrue)
 
If vTrue Then
 
IsChecked = "checked"
 
End If
 
End Function
 
Function BookOptions(vXlFile)
 
Dim vServerFolder
 
Dim oFs, oFolder, oFile
 
Dim vSelected
 
vServerFolder = Server.MapPath(".")
 
Set oFs = Server.CreateObject("Scripting.FileSystemObject")
 
Set oFolder = oFs.GetFolder(vServerFolder)
 
For Each oFile in oFolder.Files
 
If oFile.Type = "Microsoft Excel Worksheet" Then
 
vSelected = (oFile.Name = vXlFile)
 
BookOptions = BookOptions & _
 
OptionTag(oFile.Name, vSelected)
 
End If
 
Next
 
Set oFolder = Nothing
 
Set oFs = Nothing
 
End Function
 
Function NamedRangeOptions(oConn, vXlRange, vTableType)
 
Dim oSchemaRs
 
Dim vSelected
 
NamedRangeOptions = OptionTag(Empty, Empty)
 
If TypeName(oConn) = "Connection" Then
 
Set oSchemaRs = oConn.OpenSchema(adSchemaTables)
 
Do While Not oSchemaRs.EOF
 
If oSchemaRs("TABLE_TYPE") = vTableType Then
 
vSelected = (oSchemaRs("TABLE_NAME") = vXlRange)
 
NamedRangeOptions = NamedRangeOptions & _
 
OptionTag(oSchemaRs("TABLE_NAME"), vSelected)
 
End If
 
oSchemaRs.MoveNext
 
Loop
 
End If
 
End Function
 
Function DataTable(oConn, vXlRange, vXlHasHeadings)
 
On Error Resume Next
 
' from OleDbVbc.inc
 
Const DB_E_ERRORSINCOMMAND = &H80040E14
 
Dim oRs, oField
 
Dim vThTag, vThEndTag
 
If vXlHasHeadings Then
 
vThTag = "<th>"
 
vThEndTag = "</th>"
 
Else
 
vThTag = "<td>"
 
vThEndTag = "</td>"
 
End If
 
DataTable = "<table border=1>"
 
If TypeName(oConn) = "Connection" Then
 
Set oRs = oConn.Execute("[" & vXlRange & "]")
 
If oConn.Errors.Count > 0 Then
 
For Each oConnErr in oConn.Errors
 
If oConnErr.Number = DB_E_ERRORSINCOMMAND Then
 
DataTable = DataTable & _
 
"<tr><td>No such range :</td><th>" & vXlRange & "</th></tr>"
 
Else
 
DataTable = DataTable & _
 
"<tr><td>" & oConnErr.Description & "</td></tr>"
 
End If
 
Next
 
Else
 
DataTable = DataTable & "<tr>"
 
For Each oField in oRs.Fields
 
DataTable = DataTable & vThTag & oField.Name & vThEndTag
 
Next
 
DataTable = DataTable & "</tr>"
 
Do While Not oRs.Eof
 
DataTable = DataTable & "<tr>"
 
For Each oField in oRs.Fields
 
DataTable = DataTable & "<td>" & oField.Value & "</td>"
 
Next
 
DataTable = DataTable & "</tr>"
 
oRs.MoveNext
 
Loop
 
End If
 
Set oRs = Nothing
 
Else
 
DataTable = DataTable & "<tr><td>File locked by another application or otherwise not accessible. Cannot continue.</td></tr>"
 
End If
 
DataTable = DataTable & "</table>"
 
End Function
 
 
' --main--
 
%>
 
<html>
 
<head>
 
<title>Read Excel</title>
 
<SCRIPT LANGUAGE=javascript>
 
<!--
 
function XlBook_onchange(theForm) {
 
with (theForm) {
 
XlSheet.selectedIndex = 0;
 
XlSheet.disabled = true;
 
XlNamedRange.selectedIndex = 0;
 
XlNamedRange.disabled = true;
 
XlTypedRange.value = "A:IV";
 
}
 
}
 
function XlSheet_onchange(theForm) {
 
with (theForm) {
 
XlNamedRange.selectedIndex = 0;
 
XlTypedRange.value = XlSheet.options[XlSheet.selectedIndex].text;
 
}
 
}
 
function XlNamedRange_onchange(theForm) {
 
with (theForm) {
 
XlSheet.selectedIndex = 0;
 
XlTypedRange.value = XlNamedRange.options[XlNamedRange.selectedIndex].text;
 
}
 
}
 
function XlTypedRange_onchange(theForm) {
 
with (theForm) {
 
XlSheet.selectedIndex = 0;
 
XlNamedRange.selectedIndex = 0;
 
}
 
}
 
//-->
 
</SCRIPT>
 
</head>
 
<body>
 
<%
 
Dim vXlFile, vXlFilePath
 
Dim vXlRange, vXlHasHeadings
 
Dim vDisabled
 
Dim vConnString
 
Dim oConn, oConnErr
 
Const adSchemaTables = 20 ' from adovbs.inc
 
CheckXlDriver ' make sure it is working
 
vXlFile = Request("XlBook")
 
If vXlFile <> Empty Then
 
vXlRange = Request("XlTypedRange")
 
If vXlRange = Empty Then
 
vXlRange = "A:IV"
 
Else
 
vXlRange = Replace(vXlRange, "!", "$")
 
End If
 
vXlHasHeadings = Request("XlHasHeadings")
 
' establish connection
 
vXlFilePath = Server.MapPath(vXlFile)
 
vConnString = "DRIVER={Microsoft Excel Driver (*.xls)};ReadOnly=1;DBQ=" & _ vXlFilePath
 
Set oConn = GetConnection(vConnString)
 
Else
 
vDisabled = "disabled"
 
End If
 
%>
 
<form name=MyForm method="POST" action="<%=Request.ServerVariables("SCRIPT_NAME")%>">
 
 <table border="1" width="100%">
 
  <tr>
 
   <th>Workbook :</th>
 
   <td>
 
   <select name="XlBook" LANGUAGE=javascript onchange="return XlBook_onchange(MyForm)">
 
    <%= BookOptions(vXlFile) %>
 
    </select></td>
 
   <td align="center">Worksheet :</td>
 
   <td><select <%=vDisabled%> name="XlSheet" LANGUAGE=javascript onchange="return XlSheet_onchange(MyForm)">
 
    <%= NamedRangeOptions(oConn, vXlRange, "SYSTEM TABLE") %>
 
    </select></td>
 
  </tr>
 
<tr>
 
   <th>Range :</th>
 
   <td><input type="text" name="XlTypedRange" LANGUAGE=javascript onchange="return XlTypedRange_onchange(MyForm)"
 
    value ="<%= vXlRange %>"></td>
 
   <td align="center">Named Range :</td>
 
   <td><select <%=vDisabled%> name="XlNamedRange" LANGUAGE=javascript onchange="return XlNamedRange_onchange(MyForm)">
 
    <%= NamedRangeOptions(oConn, vXlRange, "TABLE") %>
 
    </select></td>
 
  </tr>
 
  <tr>
 
   <th>
 
    <p> </th>
 
   <td colspan="3">
 
    <input type="checkbox" name="XlHasHeadings"
 
    <%= IsChecked(vXlHasHeadings) %>
 
    value="True"> Show first row as column headings</td>
 
  </tr>
 
  <tr>
 
   <th>
 
    <p> </th>
 
   <td colspan=3>
 
    <a href=<%= vXlFile %>><%= vXlFile %></a>
 
   </td>
 
  </tr>
 
 </table>
 
 <input type="submit" value="Submit" name="cmdSubmit"> 
 
 <input type="reset" value="Reset" name="cmdReset">
 
</form><hr>
 
<%
 
If vXlRange <> Empty Then
 
Response.Write DataTable(oConn, vXlRange, vXlHasHeadings)
 
End If
 
%>
 
</body>
 
</html>
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章