
XLParser
Atvērtā koda C# Excel formulu parsētājs
Parsējiet, analizējiet un pārvietojiet Excel formulas ar augstu precizitāti, izmantojot kompakta parsēšanas koku, caur atvērtā koda C# bibliotēku.
Kas ir XLParser?
XLParser ir augstas precizitātes C# bibliotēka Microsoft Excel formulu parsēšanai, izveidota uz Irony parsēšanas ietvara. Tā nodrošina 99,9 % veiksmes rādītāju vairāk nekā miljonā reālu formulu un ir īpaši izstrādāta izklājlapu analīzei un refaktorēšanai. Tās kompaktais gramatikas modelis — mazāk nekā 100 tokeni un ražošanas likumi — ļauj to viegli saprast, uzturēt vai pārnest uz citām valodām. XLParser kalpo kā atsauces īstenojums Excel gramatikai, kas publicēta rakstā “A Grammar for Spreadsheet Formulas Evaluated on Two Large Datasets”, un atbalsta Enron un EUSES benchmark datu kopas.
XLParser izveido kompakti parsēšanas kokus, ļaujot efektīvi pārlūkot, analizēt un pārveidot formulas. Izstrādātāji var izmantot `ExcelFormulaParser` klasi, lai parsētu formulas un izvilktu funkciju nosaukumus, atsauces un apakšizteiksmes. `FormulaAnalyzer` klase turpmāk atbalsta uzlabotas operācijas, piemēram, `ParserReferences()`, lai izgūtu visas šūnu, diapazona un nosauktās atsauces. Ar savu fokusu uz pētījumiem un rīkiem, XLParser ir ideāls izklājlapu kvalitātes nodrošināšanai, formulu pārveidošanai un izglītības rīkiem. Jūs varat izmēģināt tiešsaistes demonstrāciju, instalēt caur NuGet vai būvēt no avota [XLParser GitHub](https://github.com/spreadsheetlab/XLParser).
Sākums ar XLParser
XLParser ir pieejams caur NuGet un to var instalēt, izmantojot Package Manager Console vai Visual Studio’s NuGet UI. Visvienkāršākais veids ir izpildīt `Install-Package XLParser` Package Manager Console. Alternatīvi, varat lejupielādēt jaunāko izlaidumu no [XLParser GitHub](https://github.com/spreadsheetlab/XLParser), uzbūvēt risinājumu un atsaukties uz DLL tieši. Bibliotēka ir izveidota uz Irony parser framework un neprasa papildu atkarības. Kad instalēta, varat sākt parsēt Excel formulas, izmantojot `ExcelFormulaParser` klasi. Tās `Parse()` metode pieņem formulas virkni un atgriež parsēšanas koku turpmākai analīzei vai transformācijai.
Instalējiet XLParser caur NuGet
Install-Package XLParserAugsta saderība Excel formulu parsēšanai
XLParser nodrošina 99,9 % veiksmīgu parsēšanas līmeni vairāk nekā miljonā reālu Excel formulu, padarot to par vienu no visuzticamākajiem C# formulu parseriem, kas pieejami. Tas tika pārbaudīts plaši izmantotajos Enron un EUSES benchmark datu kopumos un ir izstrādāts, lai apstrādātu sarežģītas, ligzdotas un reālas formulas — tostarp masīvu izteiksmes, atsauces un funkcijas. Lai gan XLParser nav pārāk ierobežojošs (tas var parsēt dažas formulas, kuras Excel noraidītu), šī elastība ir apzināta pētniecības un analīzes lietošanas gadījumiem. Izstrādātāji var uzticēties XLParser, lai parsētu lielāko daļu formulu, ar kurām sastopas ražošanas izklājlapās, ļaujot veikt robustu formulu analīzi, refaktorēšanu un kvalitātes nodrošināšanas darba plūsmas. Tā kompaktais gramatikas modelis nodrošina uzturējamību un pārnēsājamību starp parseru ietvariem.
Parsējiet Excel formulu un pārbaudiet parsēšanas koku
using XLParser;
var parser = new ExcelFormulaParser();
var tree = parser.Parse("SUM(A1:B10, C12)");
Console.WriteLine(tree.Print());Izvilkt visas atsauces no Excel formulām
XLParser ietver `FormulaAnalyzer` klasi, kas nodrošina jaudīgus metodus parsēto formulu analīzei. Viena no tās galvenajām funkcijām ir `ParserReferences()`, kas atgriež visas šūnas, diapazonus, nosauktos diapazonus un horizontālās/vertikālās atsauces, kas izmantotas formulā. Tas ir nenovērtējams atkarību izsekošanai, ietekmes analīzei un refaktorēšanas rīkiem. Piemēram, ja formula ir `SUM(A1:B10, C12, NamedRange)`, `ParserReferences()` atgriezīs sarakstu ar `A1:B10`, `C12` un `NamedRange`. Tas ļauj izstrādātājiem izveidot izklājlapu auditēšanas rīkus, vizualizēt datu plūsmu vai noteikt cikliskas atkarības. Metode strādā nevainojami ar kompakto parsēšanas koka struktūru, nodrošinot ātru un precīzu izguvi pat lielām formulām.
Izvilkt visas atsauces, izmantojot FormulaAnalyzer
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());
}Pārlūkot un analizēt parsēšanas kokus
XLParser parsēšanas koki ir izstrādāti efektīvai pārlūkošanai un analīzei. `ExcelFormulaParser` klase nodrošina tādas metodes kā `AllNodes`, lai iterētu pār katru koka mezglu, ļaujot veikt pielāgotu analīzi, transformāciju vai validācijas loģiku. Izstrādātāji var filtrēt mezglus pēc tipa (piemēram, funkcijas, atsauces, operatori) un veikt darbības, piemēram, skaitīt funkciju parādības, noteikt neizmantotus nosauktos diapazonus vai identificēt iespējamās kļūdas. `GetFunction()` metode vienkāršo funkciju nosaukumu izguvi no funkciju izsaukuma mezgliem, kamēr `Print()` ļauj ātri atkļūdot vai reģistrēt jebkura mezgla struktūru. Šīs iespējas padara XLParser par ideālu rīku izklājlapu kvalitātes rīku, refaktorēšanas asistentu un izglītojošu vizualizāciju izveidei.
Pārlūkojiet visus mezglus un izvelciet funkciju nosaukumus
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()}");
}Atkļūdot un vizualizēt parsēšanas kokus
XLParser cieši integrējas ar Irony GrammarExplorer rīku interaktīvai atkļūdošanai un koku vizualizācijai. Pēc XLParser un GrammarExplorer risinājuma būvēšanas varat ielādēt `XLParser.dll` kā gramatiku un reāllaikā testēt formulas. Izstrādes laikā Visual Studio atkļūdotājs atbalsta parsēšanas koka mezglu pārbaudi novērošanas logā, izmantojot `yournode.Print(),ac`. Šī funkcija paātrina sarežģītu formulu izpratni, malu gadījumu testēšanu un gramatikas noteikumu validāciju. Kompakta koka struktūra nodrošina, ka pat dziļi ligzdošas formulas paliek lasāmas un pārvaldāmas. Neatkarīgi no tā, vai veidojat izklājlapu analīzes rīku vai pētot Excel formulu uzvedību, XLParser atkļūdošanas atbalsts vienkāršo izstrādi un problēmu novēršanu.
Atkļūdot parsēšanas koka mezglu Visual Studio novērošanas logā
var tree = parser.Parse("IF(A1>0, A1*2, 0)");
// In Watch window: tree.Print(),ac