แนะนำ: วิธีใช้ ASP เพื่อจัดการแบบสอบถามหลายคีย์ ในการพัฒนาเว็บฉันมักจะพบคำค้นหาหลายคู่ของการสืบค้นฟิลด์เดี่ยวซึ่งฉันมักจะนำไปใช้ผ่านอาร์เรย์แบบไดนามิก แน่นอนคำหลักหลายคำจะถูกคั่นด้วยช่องว่างหรือ ฉันคิดว่าคำหลักหลายคำถูกคั่นด้วยช่องว่างสตริงคำหลักคือปุ่มกดและรหัสเฉพาะคือ
บทความนี้อธิบายวิธีการใช้ ASP เพื่อส่งออกไฟล์ Excel วิธีหนึ่งในการใช้ Excel ใน ASP คือการเชื่อมโยงไฟล์ Excel เป็นฐานข้อมูลและการดำเนินการคล้ายกับการดำเนินการฐานข้อมูลการเข้าถึง แต่วิธีนี้ไม่ได้มีประโยชน์เสมอไปควรเป็นไปได้ว่า Excel ไม่ใช่ฐานข้อมูลเชิงสัมพันธ์ สำหรับรูปแบบคงที่รูปแบบนี้มีการรวมเซลล์ที่ซับซ้อนรูปแบบเส้นขอบรูปแบบรูปแบบความสัมพันธ์ของสูตรระหว่างเซลล์ ฯลฯ ฉันคิดว่าสิ่งที่ง่ายที่สุดที่จะเข้าใจคือการเปิดไฟล์ที่มีเทมเพลตที่ตั้งไว้แล้วในพื้นหลังแล้วแทรกข้อมูลที่จำเป็นบันทึกและเอาท์พุท ...
วิธีการที่กล่าวถึงในที่นี้คือการสร้างวัตถุ Excel โดยตรงซึ่งสามารถดำเนินการต่าง ๆ บนเอกสาร Excel ได้อย่างสะดวกยิ่งขึ้นในพื้นหลัง
ฝั่งเซิร์ฟเวอร์ยังจำเป็นต้องตั้งค่าสิทธิ์การทำงานของส่วนประกอบ COM พิมพ์ DCOMCNFG บนบรรทัดคำสั่งและป้อนอินเตอร์เฟสการกำหนดค่าส่วนประกอบ Com เลือก Microsoft Excel และคลิกปุ่มคุณสมบัติ เลือกทั้งสามตัวเลือกเดียวเพื่อปรับแต่ง เพิ่มทุกคนในการอนุญาตทั้งหมดในระหว่างการแก้ไข รีสตาร์ทเซิร์ฟเวอร์หลังจากบันทึก
มันสำคัญมาก หากคุณไม่ได้ตั้งค่าคอมพิวเตอร์เครื่องอื่นจะไม่สามารถสร้างวัตถุ Excel ให้เสร็จสมบูรณ์ได้
อย่างไรก็ตามวิธีนี้ยังมีข้อเสียเปรียบ ในการดำเนินการจริงของฉันหากมีไฟล์ Open Excel บนเซิร์ฟเวอร์และไฟล์เดียวกันจะถูกเรียกใช้งานข้อผิดพลาดจะเกิดขึ้น ฉันยังไม่เข้าใจว่าทำไม อาจมีบางสถานที่ที่ไม่ได้ตั้งค่าอย่างถูกต้อง
นอกจากนี้รูปแบบรหัสตัวอย่างในบทความที่ยกมาข้างต้นยังไม่สมบูรณ์และการแบ่งบรรทัดและช่องว่างจำนวนมากไม่ถูกต้อง หากรหัสเสร็จสมบูรณ์เพียงคัดลอกรหัสและเรียกใช้สำเร็จ จากนั้นทำการวิจัยอย่างช้าๆและปรับเปลี่ยนมันจะเริ่มต้นได้ง่าย ตอนนี้รหัสที่แก้ไขมีดังนี้ (ส่วนที่ถูกลบแผนภูมิ):
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
-
เมื่อเกิดข้อผิดพลาดต่อไป
straddr = server.mappath (.)
ตั้งค่า objexcelapp = createObject (excel.application)
objexcelapp.displayalerts = false
objexcelapp.application.visible = false
objexcelapp.workbooks.open (straddr &/templet/null.xls)
ตั้งค่า objexcelbook = objexcelapp.activeworkbook
ตั้งค่า objexcelsheets = objexcelbook.worksheets
ตั้งค่า objexcelsheet = objexcelbook.sheets (1)
OBJEXCELSSHEET.Range (B2: K2) .Value = Array (Week1, Week2, Week3, Week4, Week5, Week6, Week6, Week7)
Objexcelsheet.Range (B3: K3) .Value = Array (67,87,5,9,7,45,45,54,54,10)
Objexcelsheet.Range (B4: K4) .Value = อาร์เรย์ (10,10,8,27,33,37,50,54,10,10)
Objexcelsheet.Range (B5: K5) .Value = Array (23,3,86,64,60,18,5,1,1,36,80)
objexcelsheet.cells (3,1) .Value = internetExPlorer
objexcelsheet.cells (4,1) .Value = netScape
objexcelsheet.cells (5,1) .Value = อื่น ๆ
objexcelsheet.Range (B2: K5) .Select
Saveas (straddr &/temp/excel.xls)
objexcelapp.quit
ตั้งค่า objexcelapp = ไม่มีอะไร
-
<! doctypehtmlpublic-// w3c // dtdhtml4.0transitional // en>
<html>
<head>
<title> NewDocument </title>
<metaname = generatorContent = MicrosoftFrontPage5.0>
<metaname = utherContent =>
<metaname = keywordscontent =>
<metaname = descriptionContent =>
</head>
<body>
</body>
</html>
หลังจากใช้งานไฟล์ Excel คุณต้องส่งออกไฟล์ ในความเป็นจริงใช้การเปลี่ยนเส้นทางของ ASP ไปยังวิธี Excel บางครั้งมันถูกเปิดโดยตรงใน IE และบางครั้งมันเป็นการดาวน์โหลดแบบป๊อปอัพและเปิดหน้าต่างบันทึก หากคุณต้องการเปิดโดยตรงใน IE ให้ใช้ FSO เพื่อโหลดไฟล์ Excel แล้วส่งออกใน IE
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
-
Dim FSO, Fileext, strfilepath, Mime
strfilepath = f: /aspxuexi.doc
ตั้งค่า fso = server.createObject (scripting.filesystemobject)
fileext = fso.getextensionName (strfilePath)
ตั้งค่า fso = ไม่มีอะไร
เลือก case fileext
เอกสารกรณี
mime = application/msword
กรณี XLS
mime = application/msexcel
สิ้นสุดเลือก
การโทรออก (strfilepath, mime)
-
ฟังก์ชั่นเอาท์พุท (StrFilePath, MIME)
Response.ContentType = MIME
const adtypebinary = 1
ตั้งค่า objstream = server.createObject (adodb.stream)
objstream.open
objstream.type = adtypebinary
objstream.loadfromfile strfilepath
Response.binaryWrite objstream.read
objstream.close
ตั้งค่า objstream = ไม่มีอะไร
ฟังก์ชันสิ้นสุด
-
-
แบ่งปัน: วิธีการสร้างข้อมูลชุดบันทึก ASP หน้าแสดงข้อมูลชุดบันทึก 1. สร้างวัตถุ RecordSet ดังต่อไปนี้: dim objmyrst set objmyrst = server.createObject ("adodb.recordse
2 หน้ารวมหน้าก่อนหน้า 12 หน้าถัดไป