diff --git a/v2/rscg_examples/Maestria.TypeProviders/description.json b/v2/rscg_examples/Maestria.TypeProviders/description.json new file mode 100644 index 000000000..6dc958404 --- /dev/null +++ b/v2/rscg_examples/Maestria.TypeProviders/description.json @@ -0,0 +1,22 @@ +{ + "generator":{ + "name":"Maestria.TypeProviders", + "nuget":[ + "https://www.nuget.org/packages/Maestria.TypeProviders/" + ], + "link":"https://github.com/MaestriaNet/TypeProviders", + "author":"Fábio Monteiro Naspolini", + "source":"https://github.com/MaestriaNet/TypeProviders" + }, + "data":{ + "goodFor":["Generating strong typed code from Excel."], + "csprojDemo":"DemoExcel.csproj", + "csFiles":["Program.cs","MyExcelPerson.cs","Person.cs"], + "excludeDirectoryGenerated":[""], + "includeAdditionalFiles":[""] + }, + "links":{ + "blog":"", + "video":"" + } +} \ No newline at end of file diff --git a/v2/rscg_examples/Maestria.TypeProviders/src/DemoExcel.slnx b/v2/rscg_examples/Maestria.TypeProviders/src/DemoExcel.slnx new file mode 100644 index 000000000..003eeaa59 --- /dev/null +++ b/v2/rscg_examples/Maestria.TypeProviders/src/DemoExcel.slnx @@ -0,0 +1,3 @@ + + + diff --git a/v2/rscg_examples/Maestria.TypeProviders/src/DemoExcel/DemoExcel.csproj b/v2/rscg_examples/Maestria.TypeProviders/src/DemoExcel/DemoExcel.csproj new file mode 100644 index 000000000..19c2a2fb1 --- /dev/null +++ b/v2/rscg_examples/Maestria.TypeProviders/src/DemoExcel/DemoExcel.csproj @@ -0,0 +1,29 @@ + + + + Exe + net10.0 + enable + enable + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + PreserveNewest + + + + + true + $(BaseIntermediateOutputPath)\GX + + diff --git a/v2/rscg_examples/Maestria.TypeProviders/src/DemoExcel/MyExcel.xlsx b/v2/rscg_examples/Maestria.TypeProviders/src/DemoExcel/MyExcel.xlsx new file mode 100644 index 000000000..577167380 Binary files /dev/null and b/v2/rscg_examples/Maestria.TypeProviders/src/DemoExcel/MyExcel.xlsx differ diff --git a/v2/rscg_examples/Maestria.TypeProviders/src/DemoExcel/MyExcelPerson.cs b/v2/rscg_examples/Maestria.TypeProviders/src/DemoExcel/MyExcelPerson.cs new file mode 100644 index 000000000..3787f5f25 --- /dev/null +++ b/v2/rscg_examples/Maestria.TypeProviders/src/DemoExcel/MyExcelPerson.cs @@ -0,0 +1,6 @@ +namespace DemoExcel; + +public partial class MyExcelPerson +{ + public string FullName() => $"{FirstName} {LastName}"; +} diff --git a/v2/rscg_examples/Maestria.TypeProviders/src/DemoExcel/Person.cs b/v2/rscg_examples/Maestria.TypeProviders/src/DemoExcel/Person.cs new file mode 100644 index 000000000..d4082932a --- /dev/null +++ b/v2/rscg_examples/Maestria.TypeProviders/src/DemoExcel/Person.cs @@ -0,0 +1,10 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace DemoExcel; + +[ExcelProvider(TemplatePath = @"MyExcel.xlsx")] +public partial class MyExcelPerson +{ +} diff --git a/v2/rscg_examples/Maestria.TypeProviders/src/DemoExcel/Program.cs b/v2/rscg_examples/Maestria.TypeProviders/src/DemoExcel/Program.cs new file mode 100644 index 000000000..19ce71c1e --- /dev/null +++ b/v2/rscg_examples/Maestria.TypeProviders/src/DemoExcel/Program.cs @@ -0,0 +1,10 @@ +using DemoExcel; + +Console.WriteLine("Hello, World!"); +var persons = MyExcelPersonFactory.Load("MyExcel.xlsx").ToArray(); + +foreach (var person in persons) +{ + Console.WriteLine(person.ID + person.FullName()); + +} \ No newline at end of file