วิธีสร้างไฟล์ 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#

  1. ติดตั้ง Aspose.ZIP for .NET และเพิ่มการอ้างอิงแพ็กเกจ
  2. ระบุไฟล์ CSV และทรัพยากรที่เกี่ยวข้องทั้งหมดซึ่งต้องรวมในแพ็กเกจ
  3. สร้างออบเจ็กต์ Archive สำหรับไฟล์ ZIP ใหม่
  4. เรียก CreateEntry สำหรับไฟล์ต้นฉบับแต่ละไฟล์และกำหนดพาธภายใน ZIP
  5. กำหนดวิธีบีบอัดหรือการเข้ารหัสหากการส่งมอบต้องใช้
  6. เรียก 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 ออนไลน์ ได้ฟรีจากเบราว์เซอร์

  ไม่ต้องติดตั้งโปรแกรมบีบอัดไฟล์บนเครื่อง
  ไม่ต้องตั้งค่า API หรือเขียนโค้ด C#
  อัปโหลดไฟล์ CSV และทรัพยากรที่เกี่ยวข้อง
  ดาวน์โหลดไฟล์ ZIP ที่สร้างเสร็จแล้ว

แหล่งข้อมูล Aspose.ZIP for .NET

คำถามที่พบบ่อย

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 ให้เลือกวิธีที่โปรแกรมของผู้รับรองรับเมื่อต้องแตกไฟล์