1. Produk
  2.   Hamparan
  3.   .NET
  4.   XLParser

XLParser

 
 

Pengurai Formula Excel C# Sumber Terbuka

Mengurai, Menganalisis & Menelusuri Formula Excel dengan Ketepatan Tinggi Menggunakan Pokok Penguraian Ringkas melalui Perpustakaan C# Sumber Terbuka.

Apakah XLParser?

XLParser ialah perpustakaan C# berketepatan tinggi untuk mengurai formula Microsoft Excel, dibina atas kerangka kerja pengurai Irony. Ia memberikan kadar kejayaan 99.9% pada lebih satu juta formula dunia sebenar dan direka khusus untuk analisis dan refaktorisasi hamparan kerja. Tatabahasa ringkasnya—kurang daripada 100 token dan peraturan pengeluaran—memudahkan pemahaman, penyelenggaraan, atau pemindahan ke bahasa lain. XLParser berfungsi sebagai pelaksanaan rujukan tatabahasa Excel yang diterbitkan dalam kertas “A Grammar for Spreadsheet Formulas Evaluated on Two Large Datasets” dan menyokong set data penanda aras Enron dan EUSES.

XLParser menghasilkan pokok parse yang padat, membolehkan penelusuran, analisis, dan transformasi formula yang cekap. Pembangun boleh menggunakan kelas `ExcelFormulaParser` untuk mengurai formula dan mengekstrak nama fungsi, rujukan, dan subekspresi. Kelas `FormulaAnalyzer` selanjutnya menyokong operasi lanjutan seperti `ParserReferences()` untuk mendapatkan semua rujukan sel, julat, dan dinamakan. Dengan fokusnya pada penyelidikan dan alatan, XLParser ideal untuk jaminan kualiti lembaran kerja, refaktorisasi formula, dan alatan pendidikan. Anda boleh mencuba demo dalam talian, memasang melalui NuGet, atau membina dari sumber di [XLParser GitHub](https://github.com/spreadsheetlab/XLParser).

Previous Next

Mula Menggunakan XLParser

XLParser tersedia melalui NuGet dan boleh dipasang menggunakan Package Manager Console atau UI NuGet Visual Studio. Cara paling mudah ialah menjalankan `Install-Package XLParser` dalam Package Manager Console. Sebagai alternatif, anda boleh memuat turun pelepasan terkini dari [XLParser GitHub](https://github.com/spreadsheetlab/XLParser), membina penyelesaian, dan merujuk DLL secara langsung. Pustaka ini dibina atas kerangka kerja parser Irony dan tidak memerlukan kebergantungan tambahan. Setelah dipasang, anda boleh mula menghurai formula Excel menggunakan kelas `ExcelFormulaParser`. Kaedah `Parse()`nya menerima rentetan formula dan mengembalikan pokok penghurai untuk analisis atau transformasi selanjutnya.

Pasang XLParser melalui NuGet

Install-Package XLParser

Penguraian Formula Excel dengan Keserasian Tinggi

XLParser memberikan kadar parse berjaya 99.9% pada lebih daripada satu juta formula Excel dunia sebenar, menjadikannya salah satu parser formula C# yang paling boleh dipercayai. Ia telah disahkan pada set data penanda aras Enron dan EUSES yang banyak digunakan dan direka untuk mengendalikan formula yang kompleks, bersarang, dan dunia sebenar—termasuk ungkapan array, rujukan, dan fungsi. Walaupun XLParser tidak terlalu ketat (ia mungkin memparse beberapa formula yang Excel tolak), kelonggaran ini disengajakan untuk kes penggunaan penyelidikan dan analisis. Pembangun boleh mempercayai XLParser untuk memparse majoriti besar formula yang ditemui dalam hamparan pengeluaran, membolehkan analisis formula yang kukuh, refactoring, dan aliran kerja jaminan kualiti. Tatabahasa ringkasnya memastikan kebolehselenggaraan dan kebolehportabilitas merentasi rangka kerja parser.

Urai Formula Excel dan Periksa Pokok Penguraian

using XLParser;

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

Ekstrak Semua Rujukan dari Formula Excel

XLParser termasuk kelas `FormulaAnalyzer`, yang menyediakan kaedah yang kuat untuk menganalisis formula yang telah diparse. Salah satu ciri utama ialah `ParserReferences()`, yang mengembalikan semua sel, julat, julat bernama, dan rujukan mendatar/menegak yang digunakan dalam formula. Ini sangat berharga untuk penjejakan kebergantungan, analisis impak, dan alat refactoring. Sebagai contoh, diberikan formula seperti `SUM(A1:B10, C12, NamedRange)`, `ParserReferences()` akan mengembalikan senarai `A1:B10`, `C12`, dan `NamedRange`. Ini membolehkan pembangun membina alat audit hamparan, memvisualisasikan aliran data, atau mengesan kebergantungan bulat. Kaedah ini berfungsi dengan lancar bersama struktur pokok parse yang padat, memastikan pengekstrakan yang cepat dan tepat walaupun untuk formula yang besar.

Ekstrak Semua Rujukan Menggunakan 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());
}

Menelusuri dan Menganalisis Pokok Penguraian

Pokok parse XLParser direka untuk penelusuran dan analisis yang cekap. Kelas `ExcelFormulaParser` menyediakan kaedah seperti `AllNodes` untuk mengulangi setiap nod dalam pokok, membolehkan analisis, transformasi, atau logik pengesahan tersuai. Pembangun boleh menapis nod mengikut jenis (contoh: fungsi, rujukan, operator) dan melakukan operasi seperti mengira kejadian fungsi, mengesan julat bernama yang tidak digunakan, atau mengenal pasti potensi ralat. Kaedah `GetFunction()` mempermudah pengekstrakan nama fungsi daripada nod panggilan fungsi, manakala `Print()` membolehkan penyahpepijatan atau log cepat struktur mana-mana nod. Keupayaan ini menjadikan XLParser ideal untuk membina alat kualiti hamparan, pembantu refaktorisasi, dan visualisasi pendidikan.

Lalui Semua Nod dan Ekstrak Nama Fungsi

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()}");
}

Nyahpepijat dan Visualisasikan Pokok Penguraian

XLParser berintegrasi rapat dengan alat GrammarExplorer milik Irony untuk penyahpepijatan interaktif dan visualisasi pokok. Selepas membina XLParser dan penyelesaian GrammarExplorer, anda boleh memuatkan `XLParser.dll` sebagai tatabahasa dan menguji formula secara masa nyata. Semasa pembangunan, penyahpepijat Visual Studio menyokong pemeriksaan nod pokok penguraian melalui tetingkap pantau menggunakan `yournode.Print(),ac`. Ciri ini mempercepat pemahaman formula yang kompleks, menguji kes tepi, dan mengesahkan peraturan tatabahasa. Struktur pokok yang mampat memastikan walaupun formula yang sangat bersarang tetap boleh dibaca dan diuruskan. Sama ada anda sedang membina alat analisis hamparan kerja atau menyelidik tingkah laku formula Excel, sokongan penyahpepijatan XLParser mempermudah pembangunan dan penyelesaian masalah.

Nyahpepijat Nod Pokok Penguraian dalam Tetingkap Pantau Visual Studio

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