下面即是用 asp 创建 (生成) pdf 文件的代码
<%
Opsi eksplisit
Sub checkxldriver ()
Pada kesalahan resume berikutnya
Redup vconnstring
Redup oconn, oerr
'Coba hubungkan ke file nul:
vconnstring = driver = {driver microsoft excel (*.xls)}; dbq = nul:
Setel oconn = createObject (adodb.connection)
oconn.open vconnstring
Untuk setiap oerr di oconn.errors
'Ketika driver Excel melaporkan kegagalan membuat file,
'Maka itu harus diinstal dan berfungsi ;-))
Jika oerr.nativeError = -5036 maka
Keluar Sub
Akhiri jika
Berikutnya
Response.write penyedia atau driver tidak tersedia. (RE) Instal MDAC.
Response.write hex (err.number) & & err.description &
Untuk setiap oerr di oconn.errors
Response.write hex (oerr.number) & & oerr.nativeError & & oerr.Description &
Berikutnya
Respons.end
Akhir sub
Fungsi getConnection (vconnstring)
Pada kesalahan resume berikutnya
Setel getConnection = server.CreateObject (adodb.connection)
GetConnection.open vconnstring
Jika err.number <> 0 lalu
Atur getConnection = tidak ada
Akhiri jika
Fungsi akhir
Fungsi OptionTag (VChoice, VTRUE)
Redup velectected
Jika vtrue maka
VSelected = dipilih
Akhiri jika
OptionTag = <option & vselected &> & _
Server.htmlencode (vChoice) & </pection> & vbcrlf
Fungsi akhir
Fungsi isChecked (VTRUE)
Jika vtrue maka
IsChecked = diperiksa
Akhiri jika
Fungsi akhir
Fungsi BookOptions (VXLFile)
Redup vserverfolder
Dim ofs, Ofolder, ofile
Redup velectected
vServerFolder = server.mappath (.)
SETS = Server.CreateObject (Scripting.FilesystemObject)
Set Ofolder = Ofs.getFolder (VServerFolder)
Untuk masing -masing offile di Ofolder.files
Jika Onile.Type = Microsoft Excel Worksheet Lalu
VSelected = (Ofile.Name = VxlFile)
Bookoptions = bookoptions & _
OptionTag (Ofile.Name, Velected)
Akhiri jika
Berikutnya
Set Ofolder = tidak ada
Set ofs = tidak ada
Fungsi akhir
Fungsi bernamaRangeOptions (OConn, VXLRange, VTabletype)
Redup oschemars
Redup velectected
NamedRangeOptions = optionTag (kosong, kosong)
Jika typename (oconn) = koneksi lalu
Set oschemars = oconn.openschema (adschematables)
Lakukan sementara bukan oschemars.eof
Jika oschemars (table_type) = vtabletype kemudian
vselected = (oschemars (table_name) = vxlrange)
NamedRangeOptions = namedRangeOptions & _
OptionTag (Oschemars (Table_Name), VSelected)
Akhiri jika
oschemars.movenext
Lingkaran
Akhiri jika
Fungsi akhir
Fungsi datatable (oconn, vxlrange, vxlhasheadings)
Pada kesalahan resume berikutnya
'dari oledbvbc.inc
Const db_e_errorsincommand = & h80040e14
Redup, Ofield
Redup vthtag, vthendtag
Jika vxlhasheadings maka
vthtag = <t th>
vthendtag = </t>
Kalau tidak
vthtag = <td>
vthendtag = </td>
Akhiri jika
DataTable = <Border Tabel = 1>
Jika typename (oconn) = koneksi lalu
Set ors = oconn.execute ([& vxlrange &])
Jika oconn.errors.count> 0 lalu
Untuk setiap oconnerr di oconn.errors
Jika oconnerr.number = db_e_errorsincommand
DataTable = DataTable & _
<tr> <td> Tidak ada rentang seperti itu: </td> <t th> & vxlrange & </th> </tr>
Kalau tidak
DataTable = DataTable & _
<tr> <td> & oconnerr.description & </td> </tr>
Akhiri jika
Berikutnya
Kalau tidak
DataTable = DataTable & <tr>
Untuk setiap lapangan di ors.fields
DataTable = DataTable & Vthtag & Ofield.name & Vthendtag
Berikutnya
DataTable = DataTable & </tr>
Lakukan saat tidak ors.eof
DataTable = DataTable & <tr>
Untuk setiap lapangan di ors.fields
DataTable = DataTable & <td> & Ofield.Value & </td>
Berikutnya
DataTable = DataTable & </tr>
ors.movenext
Lingkaran
Akhiri jika
Atur ors = tidak ada
Kalau tidak
DATATABLE = DATATABLE & <TR> <TD> file yang dikunci oleh aplikasi lain atau tidak dapat diakses. Tidak dapat melanjutkan. </td> </tr>
Akhiri jika
DATATABLE = DATATABLE & </TABLE>
Fungsi akhir
' --utama--
%>
<Html>
<head>
<title> Baca Excel </iteme>
<Bahasa skrip = javascript>
<!-
fungsi xlbook_onchange (form) {
dengan (form) {
Xlsheet.selectedIndex = 0;
Xlsheet.disabled = true;
XlNamedRange.SelectedIndex = 0;
XlNamedRange.Disabled = true;
XlTypedRange.Value = A: iv;
}
}
fungsi xlsheet_onchange (form) {
dengan (form) {
XlNamedRange.SelectedIndex = 0;
XlTypedRange.Value = xlsheet.options [xlsheet.selectedIndex] .text;
}
}
Fungsi xlNamedRange_onchange (TheForm) {
dengan (form) {
Xlsheet.selectedIndex = 0;
XlTypedRange.Value = xlNamedRange.Options [xlNamedRange.SelectedIndex] .text;
}
}
fungsi xltypedrange_onchange (form) {
dengan (form) {
Xlsheet.selectedIndex = 0;
XlNamedRange.SelectedIndex = 0;
}
}
//->
</script>
</head>
<body>
<%
Redup vxlfile, vxlfilePath
Redup vxlrange, vxlhasheadings
Redup vdisabled
Redup vconnstring
Redup oconn, oconnerr
Const adschematables = 20 'dari adovbs.inc
Checkxldriver 'Pastikan itu berhasil
vxlfile = request (xlbook)
Jika vxlfile <> kosong lalu
vxlrange = request (xltypeDrange)
Jika vxlrange = kosong lalu
vxlrange = a: iv
Kalau tidak
vxlrange = ganti (vxlrange ,!, $)
Akhiri jika
vxlhasheadings = request (xlhasheadings)
'Menetapkan koneksi
vxlfilePath = server.mappath (vxlfile)
vconnstring = driver = {driver microsoft excel (*.xls)}; readonly = 1; dbq = & _ vxlfilePath
Set Oconn = GetConnection (VConnString)
Kalau tidak
vdisabled = dinonaktifkan
Akhiri jika
%>
<Form name = Metode MyForm = Posting Tindakan = <%= Request.ServerVariable (Script_Name)%>>
<Border Tabel = 1 Lebar = 100%>
<tr>
<TH> Buku Kerja: </th>
<td>
<Pilih Nama = Bahasa XLBook = JavaScript Onchange = return xlbook_onchange (myForm)>
< %= Bookoptions (vxlfile) %>
</pilih> </td>
<td align = center> Lembar kerja: </td>
<td> <pilih <%= vdisabled%> name = xlsheet bahasa = javascript onchange = return xlsheet_onchange (myForm)>
< %= NamedRangeOptions (OConn, VxLrange, Tabel Sistem) %>
</pilih> </td>
</tr>
<tr>
<TH> Range: </th>
<td> <input type = nama teks = xltypedrange bahasa = javascript onchange = return xltypedRange_onchange (myForm)
nilai = < %= vxlrange %>> </td>
<td align = center> bernama rentang: </td>
<td> <pilih <%= vdisabled%> name = xlNamedRange bahasa = javascript onchange = return xlnamedRange_onchange (myForm)>
< %= NamedRangeOptions (oconn, vxlrange, tabel) %>
</pilih> </td>
</tr>
<tr>
<th>
<p> </th>
<td colspan = 3>
<Jenis input = nama kotak centang = xlhasheadings
< %= IsChecked (vxlHasheadings) %>
value = true> tampilkan baris pertama sebagai judul kolom </td>
</tr>
<tr>
<th>
<p> </th>
<td colspan = 3>
<a href = < %= vxlfile %>> < %= vxlfile %> </a>
</td>
</tr>
</boable>
<Input Tipe = Kirim Nilai = Kirim Nama = CMDSUBMIT>
<Input Tipe = Reset Nilai = RESET NAME = CMDRESET>
</form> <hr>
<%
Jika vxlrange <> kosong lalu
Response.Write DataTable (OCONN, VXLRANGE, VXLHASHEADINGS)
Akhiri jika
%>
</body>
</html>