Konten utama artikel ini adalah menggunakan ASP untuk mengeluarkan contoh file Excel.
Salah satu cara untuk menggunakan Excel di ASP adalah dengan menautkan file Excel sebagai database, dan operasi ini mirip dengan operasi database Access. Untuk format tetap, format ini berisi penggabungan sel yang kompleks, gaya garis batas, pola, hubungan formula antar sel, dll. Saya pikir hal termudah untuk dipahami adalah membuka pengaturan yang ada di latar belakang file template yang baik, lalu masukkan data jika diperlukan di mana diperlukan , simpan, output ...
Metode yang disebutkan di sini adalah secara langsung membuat objek Excel, yang dapat melakukan berbagai operasi pada dokumen Excel lebih nyaman di latar belakang.
Sisi server juga perlu mengatur izin operasi komponen COM. Ketik DCOMCNFG pada baris perintah, dan masukkan antarmuka konfigurasi komponen COM. Mulai ulang server setelah disimpan.
Ini sangat penting.
Namun, metode ini juga memiliki kelemahan. belum diatur dengan benar.
Selain itu, format kode contoh dalam artikel yang dikutip di atas tidak terlalu lengkap, dan banyak garis istirahat dan spasi tidak akurat. Penelitian dan memodifikasi, akan mudah untuk memulai.
Kode Program:
- <%
- OnerrorresumeNext
- straddr = server.mappath (.)
- setoBjexcelapp = createObject (excel.application)
- objexcelapp.displayalerts = false
- objexcelapp.application.visible = false
- objexcelapp.workbooks.open (Straddr &/Templet/null.xls)
- setobjexcelbook = objexcelapp.activeWorkbook
- setobjexcelsheets = objexcelbook.worksheets
- setobjexcelsheet = objexcelbook.sheets (1)
- Objexcelsheet.range (B2: K2) .value = array (minggu1, minggu2, minggu3, minggu4, minggu5, minggu 6, minggu7)
- Objexcelsheet.range (B3: K3) .value = array (67,87,5,9,7,45,45,54,54,10)
- Objexcelsheet.range (B4: K4) .value = array (10,10,8,27,33,37,50,54,10,10)
- Objexcelsheet.range (B5: K5) .value = array (23,3,86,64,60,18,5,1,36,80)
- objexselsheet.cells (3,1) .value = InternetExplorer
- objexselsheet.cells (4,1) .value = Netscape
- objexselsheet.cells (5,1) .value = lainnya
- objexselsheet.range (b2: k5). select
- Saveas (Straddr &/Temp/Excel.xls)
- objexcelapp.quit
- setobjexcelapp = tidak ada
- %>
- <! Doctypehtmlpublic-// w3c // dtdhtml4.0transitional // en>
- <Html>
- <head>
- <title> newDocument </iteme>
- <Metaname = GeneratorContent = MicrosoftFrontPage5.0>
- <Metaname = authorContent =>
- <Metaname = KeyWordScontent =>
- <Metaname = descriptionContent =>
- </head>
- <body>
- </body>
- </html>
Setelah mengoperasikan file Excel, Anda perlu mengeluarkan file Untuk membuka langsung di IE, jangan masukkan file Excel dengan FSO dan kemudian output di IE.
Kode Program:
- <%
- Dimfso, fileext, strfilepath, mime
- strfilePath = f: /aspxuexi.doc
- SetFSO = server.CreateObject (scripting.filesystemObject)
- FileExt = fso.getextensionName (strfilePath)
- Setfso = tidak ada
- SELECTCASEFILEEXT
- Casedoc
- Mime = aplikasi/msword
- Casexls
- Mime = aplikasi/msexcel
- Endselect
- CallOutput (StrfilePath, Mime)
- '################################################## #####
- FunctionOutput (StrfilePath, Mime)
- Response.contentType = mime
- ConstadtypeBinary = 1
- Setobjstream = server.createObject (adodb.stream)
- objstream.open
- objstream.type = adtypeBinary
- objstream.loadFromFileStrFilePath
- Response.binarywriteobjstream.read
- objstream.close
- Setobjstream = tidak ada
- Fungsi endfungsi
- '################################################## #####
- %>
Dalam aplikasi yang sebenarnya, ketika server menjalankan program Excel atau Access, klien mengirimkan pembentukan objek Excel. Permintaan itu tidak bisa berhasil!
Ada contoh -contoh yang sukses di jaringan internal departemen kami. Menjalankan di jaringan area lokal, tingkat keamanan IE klien adalah Anda dapat menetapkan rendah dan memungkinkan menjalankan Activex yang relevan (yaitu, mengatur semua jenis hal yang terkait dengan keamanan untuk mengizinkan dalam opsi alat IE, dan item tertentu yang tidak diselidiki). Bahkan jika itu tidak diatur, yaitu akan memunculkan jendela peringatan: bukan?
Kode yang diterapkan mirip dengan log sebelumnya, dan yang paling sederhana adalah sebagai berikut:
Kode Program:
- <scriptLanguage = vbscript>
- setoBjexcelapp = createObject (excel.application)
- objexcelapp.displayalerts = true
- objexcelapp.workbooks.open (http://xxx.xxx.xxx/xxx.xls)
- 'File XLS dengan alamat jaringan lengkap, file ini telah diformat dan dicetak, dan disimpan di server
- setobjexcelbook = objexcelapp.activeWorkbook
- setobjexcelsheets = objexcelbook.worksheets
- setobjexcelsheet = objexcelbook.sheets (1)
- '==== Berikut adalah pernyataan yang mengisi data pada sel excel.
- 'Misalnya: response.writeobjexcelsheet.range (b2) .value = & rs (xxx) &
- 'atau objexcelsheet.range (b2) .value = <%= rs (xxx)%>
- Objexcelsheet.range (B2: K2) .value = array (minggu1, minggu2, minggu3, minggu4, minggu5, minggu 6, minggu7)
- Objexcelsheet.range (B3: K3) .value = array (67,87,5,9,7,45,45,54,54,10)
- Objexcelsheet.range (B4: K4) .value = array (10,10,8,27,33,37,50,54,10,10)
- Objexcelsheet.range (B5: K5) .value = array (23,3,86,64,60,18,5,1,36,80)
- objexselsheet.cells (3,1) .value = InternetExplorer
- objexselsheet.cells (4,1) .value = Netscape
- objexselsheet.cells (5,1) .value = lainnya
- '=========================
- 'objexcelapp.quit
- 'setObjexcelapp = tidak ada
- </script>
Dalam kode di atas
- 'objexcelapp.quit
- 'setObjexcelapp = tidak ada
Sebagai pembatalan, jangan tutup Excel.
Di atas adalah seluruh proses menggunakan ASP untuk mengeluarkan file Excel.