源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
查看: 290|回复: 9

[编程10000问] 如何创建一个PDF文件?

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2006-11-16 00:00:00 | 显示全部楼层 |阅读模式

 

<%
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

[1] [2]  下一页

回复

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2022-8-18 03:45:09 | 显示全部楼层
哦哦哦ijhhsdj
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2022-11-6 02:51:20 | 显示全部楼层
额风风风微风微风违法
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-1-17 15:45:14 | 显示全部楼层
抽根烟,下来看看再说
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-2-4 17:34:28 | 显示全部楼层
激动人心,无法言表!
回复 支持 反对

使用道具 举报

8

主题

1万

回帖

52

积分

注册会员

Rank: 2

积分
52
发表于 2023-4-12 17:36:33 | 显示全部楼层
而非为吾问无为谓娃娃
回复 支持 反对

使用道具 举报

2

主题

1万

回帖

380

积分

中级会员

Rank: 3Rank: 3

积分
380
发表于 2023-9-12 18:01:43 | 显示全部楼层
可以,看卡巴
回复 支持 反对

使用道具 举报

4

主题

1万

回帖

316

积分

中级会员

Rank: 3Rank: 3

积分
316
发表于 2023-9-13 14:56:58 | 显示全部楼层
天天源码社区论坛
回复 支持 反对

使用道具 举报

3

主题

1万

回帖

156

积分

注册会员

Rank: 2

积分
156
发表于 2024-3-29 22:52:02 | 显示全部楼层
呵呵呵呵呵呵呵a
回复 支持 反对

使用道具 举报

3

主题

1万

回帖

301

积分

中级会员

Rank: 3Rank: 3

积分
301
发表于 2024-5-19 09:13:59 | 显示全部楼层
很好,谢谢分享
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2024-6-3 07:36 , Processed in 0.074431 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表