XLParser

 
 

Avoimen lähdekoodin C# Excel-kaavojen jäsentäjä

Jäsennä, analysoi ja kulje Excel-kaavoja erittäin tarkasti käyttäen kompakteja jäsennyspuuja avoimen lähdekoodin C#-kirjaston avulla.

Mikä on XLParser?

XLParser on korkean tarkkuuden C#-kirjasto Microsoft Excel -kaavojen jäsentämiseen, rakennettu Irony-parsijakehyksen päälle. Se saavuttaa 99,9 % onnistumisprosentin yli miljoonassa todellisessa kaavassa, ja se on erityisesti suunniteltu taulukkolaskenta-analyysiin ja refaktorointiin. Sen tiivis kielioppi—alle 100 tokenia ja tuotantosääntöä—tekee sen helppokäyttöiseksi, ylläpidettäväksi tai siirrettäväksi muihin kieliin. XLParser toimii Excelin kieliopin referenssiasennuksena, joka on julkaistu artikkelissa “A Grammar for Spreadsheet Formulas Evaluated on Two Large Datasets”, ja tukee Enron- ja EUSES-vertailuaineistoja.

XLParser tuottaa kompakteja jäsentämispuita, mikä mahdollistaa tehokkaan läpikäynnin, analyysin ja kaavojen muunnoksen. Kehittäjät voivat käyttää `ExcelFormulaParser`-luokkaa kaavojen jäsentämiseen ja funktion nimien, viitteiden ja alilausekkeiden poimimiseen. `FormulaAnalyzer`-luokka tukee lisäksi edistyneitä toimintoja, kuten `ParserReferences()`, jolla haetaan kaikki solut, alueet ja nimettyjen viitteet. Keskittyessään tutkimukseen ja työkaluihin, XLParser on ihanteellinen taulukkolaskentojen laadunvarmistukseen, kaavojen uudelleenjärjestelyyn ja opetusvälineisiin. Voit kokeilla verkkoesittelyä, asentaa sen NuGetin kautta tai kääntää lähdekoodista [XLParser GitHub](https://github.com/spreadsheetlab/XLParser).

Previous Next

XLParserin aloitus

XLParser on saatavilla NuGetin kautta, ja sen voi asentaa Package Manager Consolea tai Visual Studion NuGet‑käyttöliittymää käyttäen. Yksinkertaisin tapa on suorittaa `Install-Package XLParser` Package Manager Consolessa. Vaihtoehtoisesti voit ladata viimeisimmän julkaisun [XLParser GitHub](https://github.com/spreadsheetlab/XLParser), kääntää ratkaisun ja viitata DLL‑tiedostoon suoraan. Kirjasto on rakennettu Irony‑parserikehyksen päälle, eikä se vaadi lisäriippuvuuksia. Kun asennus on valmis, voit aloittaa Excel‑kaavojen jäsentämisen `ExcelFormulaParser`‑luokkaa käyttäen. Sen `Parse()`‑metodi ottaa kaavamerkkijonon ja palauttaa jäsentämispuun jatkoanalyysiä tai muunnosta varten.

Asenna XLParser NuGetin kautta

Install-Package XLParser

Korkean yhteensopivuuden Excel-kaavojen jäsentäminen

XLParser tarjoaa 99,9 % onnistuneen jäsentämisprosentin yli miljoonasta todellisesta Excel-kaavasta, mikä tekee siitä yhden luotettavimmista saatavilla olevista C#-kaavajäsenninistä. Se on validoitu laajasti käytetyillä Enron- ja EUSES-vertailuaineistoilla, ja se on suunniteltu käsittelemään monimutkaisia, sisäkkäisiä ja todellisia kaavoja—mukaan lukien matriisilausekkeet, viitteet ja funktiot. Vaikka XLParser ei ole liian rajoittava (se saattaa jäsentää joitakin kaavoja, jotka Excel hylkää), tämä sallivuus on tarkoituksellista tutkimus- ja analyysitapauksiin. Kehittäjät voivat luottaa XLParseriin jäsentääkseen suurimman osan tuotantolaskentataulukoissa esiintyvistä kaavoista, mahdollistaen vahvan kaava-analyysin, refaktoroinnin ja laadunvarmistusprosessit. Sen kompakti kielioppi takaa ylläpidettävyyden ja siirrettävyyden eri jäsenninympäristöjen välillä.

Jäsennä Excel-kaava ja tarkastele jäsentämispuuta

using XLParser;

var parser = new ExcelFormulaParser();
var tree = parser.Parse("SUM(A1:B10, C12)");
Console.WriteLine(tree.Print());

Poimi kaikki viitteet Excel-kaavoista

XLParser sisältää `FormulaAnalyzer`-luokan, joka tarjoaa tehokkaita menetelmiä jäsennettyjen kaavojen analysointiin. Yksi sen keskeisistä ominaisuuksista on `ParserReferences()`, joka palauttaa kaikki solut, alueet, nimialueet sekä vaakasuorat/pystysuorat viitteet, joita kaavassa käytetään. Tämä on korvaamatonta riippuvuuksien seurannassa, vaikutusanalyysissä ja refaktorointityökaluissa. Esimerkiksi kaavan `SUM(A1:B10, C12, NamedRange)` tapauksessa `ParserReferences()` palauttaa luettelon `A1:B10`, `C12` ja `NamedRange`. Tämä mahdollistaa kehittäjille taulukkolaskenta-auditointityökalujen rakentamisen, datavirran visualisoinnin tai syklisten riippuvuuksien havaitsemisen. Menetelmä toimii saumattomasti kompaktin jäsennyspuun rakenteen kanssa, varmistaen nopean ja tarkan poiminnan myös suurissa kaavoissa.

Poimi kaikki viitteet käyttäen FormulaAnalyzeria

using XLParser;

var parser = new ExcelFormulaParser();
var tree = parser.Parse("SUM(A1:B10, C12, NamedRange)");
var analyzer = new FormulaAnalyzer(tree);
var references = analyzer.ParserReferences();
foreach (var refNode in references)
{
    Console.WriteLine(refNode.Print());
}

Selaa ja analysoi jäsentämispuita

XLParserin jäsentämispuut on suunniteltu tehokkaaseen läpikäyntiin ja analysointiin. `ExcelFormulaParser`-luokka tarjoaa metodeja kuten `AllNodes`, joiden avulla voidaan iteroida jokaisen puun solmun läpi, mahdollistaen mukautetun analyysin, muunnoksen tai validointilogiikan. Kehittäjät voivat suodattaa solmuja tyypin mukaan (esim. funktiot, viitteet, operaattorit) ja suorittaa toimintoja kuten funktioiden esiintymiskertojen laskeminen, käyttämättömien nimettyjen alueiden havaitseminen tai mahdollisten virheiden tunnistaminen. `GetFunction()`-metodi yksinkertaistaa funktioiden nimien poimimista funktiokutsusolmuista, kun taas `Print()` mahdollistaa nopean virheenkorjauksen tai lokituksen minkä tahansa solmun rakenteesta. Nämä ominaisuudet tekevät XLParserista ihanteellisen taulukkolaskenta-työkalujen laadunvarmistus, refaktorointiapurit ja opetusvisualisoinnit.

Kulje kaikki solmut ja poimi funktioiden nimet

using XLParser;

var parser = new ExcelFormulaParser();
var tree = parser.Parse("SUM(A1, A2) + AVERAGE(B1:B5)");
var functions = tree.AllNodes.Where(n => n.IsFunction());
foreach (var func in functions)
{
    Console.WriteLine($"Function: {func.GetFunction()}");
}

Vianmääritys ja jäsentämispuiden visualisointi

XLParser integroituu tiiviisti Ironyn GrammarExplorer-työkaluun interaktiivista virheenkorjausta ja puun visualisointia varten. Kun olet rakentanut XLParserin ja GrammarExplorer-ratkaisun, voit ladata `XLParser.dll`:n kieliopiksi ja testata kaavoja reaaliajassa. Kehityksen aikana Visual Studion virheenkorjaaja tukee jäsentämispuun solmujen tarkastelua tarkkailuikkunan kautta käyttäen `yournode.Print(),ac`. Tämä ominaisuus nopeuttaa monimutkaisten kaavojen ymmärtämistä, reunatapauksien testaamista ja kielioppisääntöjen vahvistamista. Tiivis puurakenne varmistaa, että jopa syvästi sisäkkäiset kaavat pysyvät luettavina ja hallittavina. Olitpa sitten rakentamassa taulukkolaskenta-analyysityökalua tai tutkimassa Excel-kaavojen käyttäytymistä, XLParserin virheenkorjaustuki yksinkertaistaa kehitystä ja vianmääritystä.

Vianmääritys jäsennyspuun solmulle Visual Studio -katseluikkunassa

var tree = parser.Parse("IF(A1>0, A1*2, 0)");
// In Watch window: tree.Print(),ac
 Suomen