CSV-bestanden openen met de voorkeursparser

Invoering

Bij het werken met CSV-bestanden wilt u soms verschillende gegevenstypen verwerken met aangepaste parsers. Deze tutorial begeleidt u bij het openen van CSV-bestanden met een voorkeursparser met behulp van Aspose.Cells voor .NET. Of u nu tekst, datums of andere aangepaste formaten wilt verwerken, deze gids begeleidt u door elke stap met een duidelijke uitleg.

Vereisten

Voordat we in de code duiken, bespreken we eerst de essentiële onderdelen die je nodig hebt om aan de slag te gaan.

  1. Aspose.Cells voor .NET-bibliotheek: zorg dat u de Aspose.Cells-bibliotheek hebt geïnstalleerd. U kunt deze downloadenhier . U kunt ook de gratis proefperiode gebruikenhier.
  2. .NET-ontwikkelomgeving: Visual Studio wordt aanbevolen, maar elke .NET-compatibele IDE is ook geschikt.
  3. Basiskennis van C#: in deze tutorial wordt ervan uitgegaan dat u bekend bent met C# en objectgeoriënteerd programmeren.

Pakketten importeren

Om Aspose.Cells te gebruiken, moet u de benodigde naamruimten boven aan uw C#-bestand importeren:

using System.IO;
using Aspose.Cells;
using System;

Nu we alles hebben uitgelegd, gaan we kijken hoe u een CSV-bestand opent met een favoriete parser die verschillende gegevensformaten, zoals tekst en datums, verwerkt.

Stap 1: Aangepaste parsers definiëren

Om verschillende gegevenstypen te verwerken, zoals tekst of specifieke datumnotaties, moet u aangepaste parsers definiëren. In Aspose.Cells implementeren aangepaste parsers deICustomParser interface.

1.1 Een tekstparser maken

Deze parser verwerkt gewone tekstwaarden. Het wijzigt de opmaak niet, dus de waarde wordt geretourneerd zoals deze is.

class TextParser : ICustomParser
{
    public object ParseObject(string value)
    {
        return value;
    }
    public string GetFormat()
    {
        return "";
    }
}

DeParseObject methode retourneert simpelweg de invoerwaarde. Het is alsof je zegt: “Verander niets, geef me gewoon de tekst!”

1.2 Een datumparser maken

Voor datums moet u ervoor zorgen dat de CSV-gegevens correct worden geparseerd inDateTime objecten. Zo maakt u een datumparser:

class DateParser : ICustomParser
{
    public object ParseObject(string value)
    {
        DateTime myDate = DateTime.ParseExact(value, "dd/MM/yyyy", 
            System.Globalization.CultureInfo.InvariantCulture);
        return myDate;
    }
    public string GetFormat()
    {
        return "dd/MM/yyyy";
    }
}

In deze parser gebruiken weParseExact om ervoor te zorgen dat de datum correct wordt geïnterpreteerd op basis van een vooraf gedefinieerde notatie ("dd/MM/yyyy"). Op deze manier worden alle datums in uw CSV-bestand met dit formaat zonder problemen verwerkt.

Stap 2: Laadopties configureren

Vervolgens moet u configureren hoe het CSV-bestand wordt geladen. Dit doet u met behulp van deTxtLoadOptions klasse, waarmee u parseeropties kunt opgeven, waaronder codering en aangepaste parsers.

2.1 Laadopties instellen

We beginnen met het initialiseren van deTxtLoadOptions en het definiëren van sleutelparameters zoals de scheidingsteken en de codering:

TxtLoadOptions oTxtLoadOptions = new TxtLoadOptions(LoadFormat.Csv);
oTxtLoadOptions.Separator = Convert.ToChar(",");
oTxtLoadOptions.Encoding = Encoding.UTF8;
oTxtLoadOptions.ConvertDateTimeData = true;
  • Scheidingsteken: Hiermee definieert u het teken dat wordt gebruikt om waarden in het CSV-bestand te scheiden (in dit geval een komma).
  • Codering: We gebruiken UTF-8-codering om een breed scala aan tekens te verwerken.
  • ConvertDateTimeData: Als u dit op true instelt, worden datumwaarden automatisch geconverteerd naarDateTime voorwerpen indien mogelijk.

2.2 Aangepaste parsers toepassen

Vervolgens wijzen we de parsers die we eerder hebben gemaakt toe om de waarden in de CSV te verwerken:

oTxtLoadOptions.PreferredParsers = new ICustomParser[] 
{ 
    new TextParser(), 
    new DateParser() 
};

Dit vertelt Aspose.Cells om deTextParser voor algemene tekstwaarden en deDateParservoor alle datumvelden die het in het CSV-bestand tegenkomt.

Stap 3: Laad en lees het CSV-bestand

Nu de laadopties zijn geconfigureerd, kunt u het CSV-bestand in eenAspose.Cells.Workbook voorwerp.

3.1 Het CSV-bestand laden

We laden het CSV-bestand door het bestandspad en de geconfigureerdeTxtLoadOptions naar deWorkbook constructeur:

string sourceDir = "Your Document Directory";
Workbook oExcelWorkBook = new Aspose.Cells.Workbook(sourceDir + "samplePreferredParser.csv", oTxtLoadOptions);

Met deze stap worden uw CSV-gegevens omgezet in een volledig functionele Excel-werkmap, waarbij elke waarde wordt geparseerd volgens uw voorkeursregels.

Stap 4: Toegang tot en weergave van celgegevens

Zodra de CSV in de werkmap is geladen, kunt u beginnen met werken met de gegevens. U wilt bijvoorbeeld het type en de waarde van specifieke cellen afdrukken.

4.1 Cel A1 ophalen en weergeven

Laten we de eerste cel (A1) ophalen en de waarde en het type ervan weergeven:

Cell oCell = oExcelWorkBook.Worksheets[0].Cells["A1"];
Console.WriteLine("A1: " + oCell.Type.ToString() + " - " + oCell.DisplayStringValue);

Hier, deType eigenschap toont het gegevenstype (zoalsString ofDateTime ), EnDisplayStringValue geeft u de geformatteerde waarde.

4.2 Cel B1 ophalen en weergeven

Op dezelfde manier kunnen we een andere cel ophalen en weergeven, bijvoorbeeld B1:

oCell = oExcelWorkBook.Worksheets[0].Cells["B1"];
Console.WriteLine("B1: " + oCell.Type.ToString() + " - " + oCell.DisplayStringValue);

kunt dit proces herhalen voor zoveel cellen als u wilt inspecteren.

Stap 5: Sla de werkmap op

Nadat u met de gegevens hebt gewerkt, wilt u de werkmap mogelijk opslaan in een nieuw bestand. Aspose.Cells maakt dit eenvoudig met een eenvoudigeSave methode:

string outputDir = "Your Document Directory";
oExcelWorkBook.Save(outputDir + "outputsamplePreferredParser.xlsx");

Hiermee wordt de werkmap opgeslagen als een Excel-bestand, waarbij alle opmaak en gegevensverwerking die u hebt toegepast, behouden blijven.

Conclusie

CSV-bestanden openen met een voorkeursparser in Aspose.Cells voor .NET is een flexibele en krachtige manier om verschillende gegevenstypen te verwerken. Door aangepaste parsers te maken en laadopties te configureren, kunt u ervoor zorgen dat uw CSV-bestanden precies worden geparseerd zoals u dat wilt, of u nu met tekst, datums of andere aangepaste formaten werkt. Met deze tutorial bent u nu uitgerust om complexere scenario’s voor het parseren van gegevens in uw projecten te verwerken.

Veelgestelde vragen

Wat is het doel van aangepaste parsers in Aspose.Cells voor .NET?

Met aangepaste parsers kunt u definiëren hoe specifieke gegevenstypen, zoals tekst of datums, moeten worden geparseerd bij het laden van een CSV-bestand.

Kan ik een ander scheidingsteken gebruiken in het CSV-bestand?

Ja, u kunt elk teken opgeven als scheidingsteken in deTxtLoadOptions.Separator eigendom.

Hoe ga ik om met codering in Aspose.Cells bij het laden van een CSV?

U kunt deEncoding eigendom vanTxtLoadOptions naar elk coderingsschema zoals UTF-8, ASCII, enz.

Wat gebeurt er als de datumnotatie in het CSV-bestand afwijkt?

U kunt de specifieke datumnotatie definiëren met behulp van een aangepaste parser, zodat de datumwaarden correct worden geparseerd.

Kan ik de werkmap in andere formaten opslaan?

Ja, met Aspose.Cells kunt u de werkmap opslaan in verschillende formaten, zoals XLSX, CSV, PDF en meer.