Så skapar du ett ZIP-arkiv med CSV-filer i .NET

Med Aspose.ZIP for .NET kan ett C#-program skapa ZIP-arkiv med CSV-filer utan att starta 7-Zip, WinRAR eller något annat arkiveringsprogram. Skapa en instans av Archive, lägg till varje fil som en arkivpost, inkludera nödvändiga resurser och anropa Save för att skriva det färdiga ZIP-arkivet.

API:t paketerar bara de filer som programmet anger och ändrar inte celler, formler, formatering, makron eller arbetsbokens interna data. Källdata och kompletterande material kan därför levereras som ett portabelt paket utan att filernas interna innehåll påverkas.

C#-exempel: paketera en CSV-fil i ZIP

Det här korta exemplet lägger till en CSV-fil i ett nytt ZIP-arkiv och sparar resultatet som archived_result.zip. Ange katalogen med källfilen i dir.

Paketera CSV-filer i 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");
}

Installera Aspose.ZIP for .NET

Installera NuGet-paketet Aspose.ZIP och lägg till en referens i .NET-projektet. ZIP-arkivet skapas i programmets egen process, så inget separat arkiveringsprogram behöver installeras.

Pakethanterarkonsolen

PM> Install-Package Aspose.Zip

Arkivera en CSV-fil

Lägg till en CSV-källfil i en ny Archive-instans och spara resultatet. Välj ett tydligt namn på arkivposten om filen i det färdiga ZIP-arkivet ska ha ett enklare eller standardiserat namn.

Paketera flera CSV-filer

Anropa CreateEntry för varje CSV-fil innan arkivet sparas. Filer från olika källmappar kan ordnas i en gemensam mapp, spreadsheets/, i ZIP-arkivet.

Paketera CSV-filer med tillhörande resurser

Lägg till CSV-filerna och kompletterande material som externa datakällor, dokumentation, exporterade data och valideringsrapporter. Bevara de relativa sökvägar som mottagarens system förväntar sig, så att paketet kan användas direkt efter uppackning.

Spara eller överför CSV-paketet

Spara det färdiga ZIP-arkivet lokalt, skriv det till ett ASP.NET-svar eller skicka det direkt till molnlagring via en skrivbar dataström. Arkivets struktur och posternas namn förblir desamma oavsett mål.

Så skapar du ett ZIP-arkiv från CSV-filer i C#

  1. Installera Aspose.ZIP for .NET och lägg till en referens till paketet.
  2. Identifiera alla CSV-filer och tillhörande resurser som ska ingå.
  3. Skapa en instans av Archive för den nya ZIP-behållaren.
  4. Anropa CreateEntry för varje källfil och ange dess sökväg i arkivet.
  5. Konfigurera komprimering eller kryptering om överföringen kräver det.
  6. Anropa Save med en målsökväg eller skrivbar dataström och frigör därefter arkivet.

Lägg till alla planerade poster innan arkivet sparas. CreateEntries kan lägga till ett helt förberett katalogträd rekursivt, medan separata anrop till CreateEntry ger bättre kontroll över namn och vilka filer som tas med.

ZIP-arkivering konverterar inte formatet CSV

Att skapa ett ZIP-arkiv från en CSV-fil är arkivering, inte filkonvertering. Filen ligger kvar oförändrad i ZIP-behållaren och dess ursprungliga byteföljd återställs när den packas upp. Aspose.ZIP tolkar eller skriver inte om celler, formler, formatering, makron eller arbetsbokens interna data.

Använd ett specialiserat konverteringsbibliotek om CSV ska omvandlas till XLSX eller ODS. ZIP-arkivering passar när befintliga filer ska samlas, överföras, lagras eller skyddas.

Ta med tillhörande filer för CSV

Ett komplett CSV-paket kan förutom huvudfilen innehålla externa datakällor, dokumentation, exporterade data och valideringsrapporter. Aspose.ZIP placerar varje komponent i en separat arkivpost och analyserar inte CSV-filen för att hitta beroenden automatiskt. Programmet måste därför bestämma paketets innehåll och uttryckligen lägga till alla resurser som behövs.

Ta endast med externa datakällor och dokumentation om mottagaren behöver dem för att använda paketet. Kontrollera före arkiveringen att samtliga nödvändiga filer finns och behåll den relativa mappstruktur som mottagarens programvara förväntar sig.

Hantera sökvägar och namn i ett ZIP-paket med CSV-filer

Källsökvägen talar om för .NET var filen ska läsas, medan arkivpostens namn avgör var den hamnar i ZIP-arkivet. En fil från en lokal arbetsmapp kan exempelvis lagras som `spreadsheets/fil.csv` utan att den lokala sökvägen avslöjas.

Använd snedstreck i portabla ZIP-sökvägar, var konsekvent med stora och små bokstäver och avvisa absoluta sökvägar samt överordnade segment som ../. Kontrollera även dubbletter när filer hämtas från olika mappar. En tydlig struktur gör paketet lättare att validera och använda efter uppackning.

Förväntad komprimering av CSV-filer

XML-baserade arbetsböcker är ofta redan komprimerade, medan textbaserade tabelldata kan minska betydligt. Även när storleksminskningen är liten ger ZIP en enda fil för överföring, en bestämd katalogstruktur, integritetsinformation och möjlighet till lösenordsskydd.

Deflate är ett praktiskt standardval med bred kompatibilitet. Lagring utan komprimering passar när paketeringshastigheten är viktigare än storleken och de flesta poster redan är komprimerade. Testa representativa paket i stället för att räkna med samma komprimeringsgrad för alla CSV-filer.

Lösenordsskydda ett ZIP-arkiv med CSV-filer

Konfidentiella arkivposter kan skyddas med traditionell ZipCrypto eller AES-kryptering. Använd AES när mottagarens uppackningsprogram stöder det och välj ZipCrypto endast när kompatibilitet med äldre verktyg är viktigast.

Hämta lösenord från säker programkonfiguration och skriv dem aldrig i källkod eller loggar. Skicka lösenordet genom en annan kanal än arkivet och kontrollera före leverans att mottagaren kan öppna den valda krypteringsmetoden.

Rekommendationer för ZIP-arkiv med CSV-filer i produktionsmiljöer

- Kontrollera att alla nödvändiga källfiler och resurser finns innan ZIP-arkivet skrivs. - Begränsa antalet filer, storleken på enskilda filer, den totala datamängden och tillåtna platser för källfiler när indata inte är betrodda. - Normalisera och validera arkivposternas namn för att förhindra osäkra sökvägar vid uppackning. - Skriv först till en tillfällig plats och flytta arkivet till målet först när `Save` har slutförts utan fel. - Använd en skrivbar dataström när ZIP-filen returneras från ASP.NET eller skickas direkt till objektlagring. - Frigör `Archive`-objekt och dataströmmar deterministiskt; rapportera saknade beroenden utan att avslöja hemligheter eller lokala sökvägar. - Använd en stabil ordning och fasta tidsstämplar när processen kräver reproducerbara ZIP-arkiv.

Skapa ZIP från CSV-filer online

Behöver du paketera filer utan att skriva kod? Använd den kostnadsfria tjänsten Skapa ZIP online direkt i webbläsaren.

  Inget arkiveringsprogram behöver installeras.
  Ingen API-konfiguration eller C#-kod behövs.
  Ladda upp CSV-filer och tillhörande resurser.
  Hämta det skapade ZIP-arkivet.

Resurser för Aspose.ZIP for .NET

Vanliga frågor

1. Hur skapar jag ett ZIP-arkiv från en CSV-fil i C#?

Skapa en Archive-instans, anropa CreateEntry med ett namn på arkivposten och sökvägen till CSV-källfilen och anropa sedan Save med målsökvägen eller en dataström.

2. Kan jag lägga till flera CSV-filer i samma ZIP-arkiv?

Ja. Anropa CreateEntry för varje fil innan arkivet sparas och ge varje post ett unikt namn i arkivet.

3. Läggs tillhörande filer till automatiskt?

Nej. Aspose.ZIP paketerar de filer som programmet anger men analyserar inte CSV för att hitta beroenden. Lägg uttryckligen till varje resurs som behövs.

4. Konverteras CSV till ett annat format när ZIP-arkivet skapas?

Nej. CSV-filen förblir oförändrad i ZIP-arkivet. Konvertering till XLSX eller ODS är en separat åtgärd.

5. Kan ett ZIP-arkiv med CSV-filer krypteras?

Ja. Aspose.ZIP stöder lösenordsskydd med ZipCrypto och AES. Välj en metod som stöds av programmet som mottagaren använder för att packa upp arkivet.