如何建立一個PDF檔案

來源:互聯網
上載者:User

 <%

Option Explicit
Sub CheckXlDriver()
      On Error Resume Next

      Dim vConnString
      Dim oConn, oErr

      vConnString = "DRIVER={Microsoft Excel Driver (*.xls)};DBQ=NUL:"
      ' 串連NUL.

      Set oConn = CreateObject("ADODB.Connection")
      oConn.Open vConnString

      For Each oErr in oConn.Errors
     ' 如果Excel程式報告"檔案建立失敗",別擔心,這表示它正在正常運行呢.

            If oErr.NativeError = -5036 Then
                  Exit Sub
            End If
      Next

      Response.Write " MDAC 供應商或驅動程式不可用,請檢查或重新安裝!<br><br>"

      Response.Write hex(Err.Number) & " " & Err.Description & "<br>"
      For Each oErr in oConn.Errors
            Response.Write hex(oErr.Number) & " " & oErr.NativeError & " " &
oErr.Description & "<br>"
      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
      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>該範圍不存在:</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

        :更多精彩教程請關注三聯設計教程 欄目,

相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。