วิธีสร้างไฟล์ ZIP ที่มีไฟล์ CSV ใน .NET
Aspose.ZIP for .NET ช่วยให้แอปพลิเคชัน C# สร้างไฟล์ ZIP จากไฟล์ CSV ได้โดยไม่ต้องเปิด 7-Zip, WinRAR หรือโปรแกรมจัดการไฟล์บีบอัดอื่น สร้างออบเจ็กต์ Archive เพิ่มแต่ละไฟล์เป็นรายการ รวมทรัพยากรที่จำเป็น แล้วเรียก Save เพื่อเขียนไฟล์ ZIP ที่เสร็จสมบูรณ์
API จะรวมเฉพาะไฟล์ที่แอปพลิเคชันระบุและไม่แก้ไขเซลล์ สูตร การจัดรูปแบบ แมโคร หรือข้อมูลภายในเวิร์กบุ๊ก จึงส่งข้อมูลต้นฉบับและสื่อประกอบเป็นแพ็กเกจเดียวได้ โดยเนื้อหาภายในของแต่ละไฟล์ยังคงเดิม
ตัวอย่าง C#: เพิ่มไฟล์ CSV ลงใน ZIP
ตัวอย่างสั้นนี้เพิ่มไฟล์ CSV หนึ่งไฟล์ลงในไฟล์ ZIP ใหม่และบันทึกผลลัพธ์เป็น archived_result.zip ให้กำหนด dir เป็นไดเรกทอรีที่เก็บไฟล์ต้นฉบับเพิ่มไฟล์ CSV ลงใน ZIP – C#
var dir = "full directory path";
using (var arch = new Archive())
{
arch.CreateEntry("filename.csv", dir+"file.csv");
arch.Save(dir+"archived_result.zip");
}
ติดตั้ง Aspose.ZIP for .NET
ติดตั้ง แพ็กเกจ Aspose.ZIP จาก NuGet และเพิ่มการอ้างอิงในโครงการ .NET การสร้าง ZIP ทำงานภายในกระบวนการของแอปพลิเคชัน จึงไม่ต้องติดตั้งโปรแกรมบีบอัดไฟล์แยกต่างหากPackage Manager Console
PM> Install-Package Aspose.Zip
จัดเก็บไฟล์ CSV หนึ่งไฟล์ใน ZIP
เพิ่มไฟล์ต้นฉบับ CSV ลงในออบเจ็กต์ Archive ใหม่แล้วบันทึกผลลัพธ์ กำหนดชื่อรายการให้ชัดเจน หากต้องการให้ไฟล์ใน ZIP ใช้ชื่อที่เรียบง่ายหรือเป็นมาตรฐานมากขึ้น
รวมไฟล์ CSV หลายไฟล์
เรียก CreateEntry สำหรับไฟล์ CSV แต่ละไฟล์ก่อนบันทึก ไฟล์จากโฟลเดอร์ต้นทางต่างกันสามารถจัดไว้ในโฟลเดอร์ spreadsheets/ เดียวกันภายใน ZIP ได้
รวมไฟล์ CSV พร้อมทรัพยากรที่เกี่ยวข้อง
เพิ่มไฟล์ CSV พร้อมสื่อประกอบ เช่น แหล่งข้อมูลภายนอก เอกสารประกอบ ข้อมูลที่ส่งออก และรายงานการตรวจสอบ รักษาพาธสัมพัทธ์ตามที่ระบบของผู้รับคาดไว้ เพื่อให้ใช้งานแพ็กเกจได้ทันทีหลังแตกไฟล์
บันทึกหรือส่งแพ็กเกจ CSV
บันทึก ZIP ลงในเครื่อง เขียนไปยังการตอบกลับของ ASP.NET หรือส่งตรงไปยังพื้นที่เก็บข้อมูลบนคลาวด์ผ่านสตรีมที่เขียนได้ โครงสร้างและชื่อรายการใน ZIP จะเหมือนเดิมไม่ว่าปลายทางจะเป็นที่ใด
ขั้นตอนสร้างไฟล์ ZIP จากไฟล์ CSV ด้วย C#
- ติดตั้ง Aspose.ZIP for .NET และเพิ่มการอ้างอิงแพ็กเกจ
- ระบุไฟล์ CSV และทรัพยากรที่เกี่ยวข้องทั้งหมดซึ่งต้องรวมในแพ็กเกจ
- สร้างออบเจ็กต์
Archiveสำหรับไฟล์ ZIP ใหม่ - เรียก
CreateEntryสำหรับไฟล์ต้นฉบับแต่ละไฟล์และกำหนดพาธภายใน ZIP - กำหนดวิธีบีบอัดหรือการเข้ารหัสหากการส่งมอบต้องใช้
- เรียก
Saveพร้อมพาธปลายทางหรือสตรีมที่เขียนได้ แล้วปิดออบเจ็กต์และสตรีมที่เปิดอยู่
เพิ่มรายการทั้งหมดก่อนบันทึกไฟล์ ZIP เมธอด CreateEntries สามารถเพิ่มโครงสร้างไดเรกทอรีที่เตรียมไว้แบบวนซ้ำ ส่วนการเรียก CreateEntry แยกทีละรายการช่วยควบคุมชื่อและไฟล์ที่จะรวมได้ละเอียดกว่า
การสร้าง ZIP ไม่ได้แปลงรูปแบบ CSV
การสร้าง ZIP จากไฟล์ CSV เป็นการจัดเก็บไฟล์ ไม่ใช่การแปลงรูปแบบ ไฟล์จะอยู่ใน ZIP โดยไม่เปลี่ยนแปลง และเมื่อแตกไฟล์จะได้ข้อมูลไบต์ชุดเดิม Aspose.ZIP ไม่ได้ตีความหรือปรับเปลี่ยนเซลล์ สูตร การจัดรูปแบบ แมโคร หรือข้อมูลภายในเวิร์กบุ๊กหากต้องการแปลง CSV เป็น XLSX หรือ ODS ให้ใช้ไลบรารีสำหรับการแปลงไฟล์โดยเฉพาะ ส่วน ZIP เหมาะสำหรับการรวม ส่ง จัดเก็บ หรือป้องกันไฟล์ที่มีอยู่
เพิ่มไฟล์ที่เกี่ยวข้องกับ CSV ให้ครบถ้วน
แพ็กเกจ CSV ที่สมบูรณ์อาจมีทั้งไฟล์หลักและแหล่งข้อมูลภายนอก เอกสารประกอบ ข้อมูลที่ส่งออก และรายงานการตรวจสอบ Aspose.ZIP จะวางแต่ละองค์ประกอบเป็นรายการแยกกัน และไม่วิเคราะห์ไฟล์ CSV เพื่อค้นหาไฟล์ที่เกี่ยวข้องโดยอัตโนมัติ แอปพลิเคชันจึงต้องกำหนดรายการไฟล์และเพิ่มทรัพยากรที่จำเป็นทั้งหมดเองเพิ่มแหล่งข้อมูลภายนอกและเอกสารประกอบเฉพาะเมื่อผู้รับต้องใช้สิ่งเหล่านั้นในการทำงานกับชุดไฟล์ ก่อนสร้าง ZIP ให้ตรวจสอบว่าไฟล์ที่จำเป็นมีอยู่ครบ และรักษาโครงสร้างโฟลเดอร์สัมพัทธ์ตามที่ซอฟต์แวร์ของผู้รับคาดไว้
ควบคุมพาธและชื่อใน ZIP ที่มีไฟล์ CSV
พาธต้นทางบอก .NET ว่าต้องอ่านไฟล์จากที่ใด ส่วนชื่อรายการกำหนดตำแหน่งของไฟล์ใน ZIP ตัวอย่างเช่น ไฟล์จากโฟลเดอร์ทำงานในเครื่องสามารถบันทึกเป็น `spreadsheets/file.csv` ได้โดยไม่เปิดเผยพาธจริงของเครื่องใช้เครื่องหมายทับในพาธ ZIP เพื่อให้ใช้งานข้ามแพลตฟอร์มได้ รักษาตัวพิมพ์เล็กและใหญ่ให้สม่ำเสมอ และปฏิเสธพาธแบบสัมบูรณ์หรือส่วนที่ย้อนขึ้นไปยังโฟลเดอร์แม่ เช่น ../ ตรวจสอบชื่อซ้ำเมื่อรับไฟล์จากหลายโฟลเดอร์ด้วย
ไฟล์ CSV จะบีบอัดได้มากเพียงใด
เวิร์กบุ๊กที่ใช้ XML มักบีบอัดมาแล้ว ส่วนข้อมูลตารางแบบข้อความอาจลดขนาดได้มาก แม้ขนาดจะลดลงไม่มาก ZIP ยังช่วยรวมทุกอย่างเป็นไฟล์เดียว มีโครงสร้างโฟลเดอร์ที่แน่นอน มีข้อมูลตรวจสอบความสมบูรณ์ และเลือกป้องกันด้วยรหัสผ่านได้Deflate เป็นตัวเลือกเริ่มต้นที่ใช้งานร่วมกับเครื่องมือได้หลากหลาย ส่วนโหมดจัดเก็บโดยไม่บีบอัดเหมาะเมื่อความเร็วในการแพ็กสำคัญกว่าขนาดและรายการส่วนใหญ่บีบอัดมาแล้ว ควรทดสอบกับชุดไฟล์จริงแทนการคาดหวังอัตราบีบอัดเดียวกันสำหรับไฟล์ CSV ทุกชุด
ป้องกัน ZIP ที่มีไฟล์ CSV ด้วยรหัสผ่าน
รายการที่เป็นความลับสามารถป้องกันด้วย ZipCrypto แบบดั้งเดิมหรือการเข้ารหัส AES เลือก AES เมื่อโปรแกรมแตกไฟล์ของผู้รับรองรับ และใช้ ZipCrypto เฉพาะเมื่อต้องรองรับเครื่องมือรุ่นเก่าอ่านรหัสผ่านจากการกำหนดค่าที่ปลอดภัย อย่าเขียนไว้ในซอร์สโค้ดหรือบันทึกระบบ ส่งรหัสผ่านผ่านช่องทางอื่นที่ไม่ใช่ช่องทางเดียวกับไฟล์ ZIP และตรวจสอบก่อนส่งว่าผู้รับเปิดวิธีเข้ารหัสที่เลือกได้
แนวทางใช้งาน ZIP กับไฟล์ CSV ในระบบจริง
- ตรวจสอบว่าไฟล์ต้นฉบับและทรัพยากรที่จำเป็นมีอยู่ครบก่อนเขียน ZIP - จำกัดจำนวนไฟล์ ขนาดของแต่ละไฟล์ ขนาดรวม และตำแหน่งต้นทางที่อนุญาตสำหรับข้อมูลที่ไม่น่าเชื่อถือ - ปรับชื่อรายการให้เป็นมาตรฐานและตรวจสอบความถูกต้อง เพื่อป้องกันพาธที่ไม่ปลอดภัยเมื่อแตกไฟล์ - เขียนไปยังตำแหน่งชั่วคราวก่อน แล้วจึงย้าย ZIP ที่เสร็จสมบูรณ์ไปยังปลายทางหลังจาก `Save` สำเร็จ - ใช้สตรีมที่เขียนได้เมื่อส่ง ZIP กลับจาก ASP.NET หรือส่งตรงไปยังพื้นที่เก็บข้อมูลแบบออบเจ็กต์ - ปิด `Archive` และสตรีมอย่างแน่นอน พร้อมรายงานไฟล์ที่เกี่ยวข้องซึ่งขาดหายไปโดยไม่เปิดเผยข้อมูลลับหรือพาธในเครื่อง - กำหนดลำดับรายการและเวลาประทับให้คงที่ หากกระบวนการต้องสร้าง ZIP ที่ทำซ้ำแล้วได้ผลเหมือนเดิมสร้าง ZIP จากไฟล์ CSV ออนไลน์
ต้องการรวมไฟล์โดยไม่เขียนโค้ดใช่ไหม ใช้บริการ สร้าง ZIP ออนไลน์ ได้ฟรีจากเบราว์เซอร์
สร้าง ZIP จากไฟล์ชนิดอื่น
รวมเอกสาร รูปภาพ โมเดล 3 มิติ สื่อ และไฟล์ต้นฉบับชนิดอื่นด้วย C# และ .NET
แหล่งข้อมูล Aspose.ZIP for .NET
- ภาพรวมผลิตภัณฑ์
- เอกสารสำหรับนักพัฒนา
- เอกสารอ้างอิง API ของ
Archive - เอกสารอ้างอิง API ของ
CreateEntry - เอกสารอ้างอิง API ของ
CreateEntries - ตัวอย่าง C# บน GitHub
- แพ็กเกจ Aspose.ZIP บน NuGet
คำถามที่พบบ่อย
1. จะสร้างไฟล์ ZIP จากไฟล์ CSV ด้วย C# ได้อย่างไรสร้างออบเจ็กต์ Archive เรียก CreateEntry พร้อมชื่อรายการและพาธของไฟล์ต้นฉบับ CSV จากนั้นเรียก Save พร้อมพาธปลายทางหรือสตรีม
2. เพิ่มไฟล์ CSV หลายไฟล์ลงใน ZIP เดียวกันได้หรือไม่
ได้ เรียก CreateEntry สำหรับแต่ละไฟล์ก่อนบันทึก และตั้งชื่อแต่ละรายการใน ZIP ไม่ให้ซ้ำกัน
3. ไฟล์ที่เกี่ยวข้องจะถูกเพิ่มโดยอัตโนมัติหรือไม่
ไม่ ระบบจะรวมเฉพาะไฟล์ที่แอปพลิเคชันส่งให้ และไม่วิเคราะห์ CSV เพื่อค้นหาไฟล์ที่เกี่ยวข้อง ต้องเพิ่มทรัพยากรที่จำเป็นแต่ละรายการอย่างชัดเจน
4. การสร้าง ZIP จะแปลง CSV เป็นรูปแบบอื่นหรือไม่
ไม่ ไฟล์ CSV จะคงเดิมภายใน ZIP การแปลงเป็น XLSX หรือ ODS เป็นอีกกระบวนการหนึ่ง
5. เข้ารหัส ZIP ที่มีไฟล์ CSV ได้หรือไม่
ได้ Aspose.ZIP รองรับการป้องกันด้วยรหัสผ่านผ่าน ZipCrypto และ AES ให้เลือกวิธีที่โปรแกรมของผู้รับรองรับเมื่อต้องแตกไฟล์