When the sheet name is specified as $Property$, it auto splits into multiple sheets if the property is enumerable, Supports template for nested objects #959
Conversation
{{Funds.Id}} {{Funds.Name}} {{Funds.Identity.Id}} {{Funds.Identity.Type}} {{Funds.SetupDate.Year}}
There was a problem hiding this comment.
Code Review
This pull request introduces multi-sheet expansion capabilities and enhanced object flattening with circular reference protection to the OpenXml template engine. The reviewer identified several critical bugs, including a double increment of the sheet index that breaks file relationships and a loop termination issue that prevents processing multiple template sheets. Additionally, feedback was provided regarding redundant type checks, inefficient regex instantiation, unnecessary decimal parsing, and missing namespace imports required for cross-platform compilation.
|
Thank you for your contribution, I will try to evaluate it as soon as possible. Please change the title and description to include a more detailed description of the intents of the PR. |
|
Hello @iyumot, I apologize but I haven't had the time to properly analyse the PR. |
|
Hello @iyumot could you please address my previous comment concerning the Chinese comments in your code? Thank you. |
# Conflicts: # src/MiniExcel.OpenXml/Templates/OpenXmlTemplate.cs
Simplified value extarctor hook: moved reference comparer to polyfills file, moved XNamespaces to static fields, moved `GetFormattedValue` to OpenXmlTemplate.Impl file (and reused it in `GenerateCellValues` function), renamed methods, refactored "Core" flatten method into local function, removed some superfluous comments, changed schemas and filenames from raw strings to constants, removed preprocessor instructions, added `RecursivePropertiesMaxDepth` to `OpenXmlConfiguration`, and other minor changes and clean ups.
|
This pull request comes from an organization repository, and it seems the maintainer permission setting is unavailable here. I've sent you an invitation, but I'm not sure if there are other ways to get this done. |
|
or you can use my code whatever you want and close this pr |
…the object itself was not added to the replacement list. For example, for {{f.Latest.Date}}, the key date did not exist in the dictionary, resulting in the field not being assigned a value during template export.
test is in MiniExcelTemplateTests.cs TestExtend2
…pr/959 # Conflicts: # src/MiniExcel.OpenXml/Templates/OpenXmlValueExtractorHook.cs # tests/MiniExcel.OpenXml.Tests/SaveByTemplate/MiniExcelTemplateTests.cs
|
Thanks for the invite, I will accept it for ease of collaboration this time. |
…opNames.Length > 2), cell type is not correctly set
|
@iyumot Please add instructions on how to use the feature to the readme |
Added support for generating sheets based on enumerable values in the template. Signed-off-by: iyu <iyumot@163.com>
|
I have submitted the commit to the extend branch.
i wrote in readme-v2.md
…---- Replied Message ----
| From | Michele ***@***.***> |
| Date | 06/07/2026 21:42 |
| To | ***@***.***> |
| Cc | ***@***.***>***@***.***> |
| Subject | Re: [mini-software/MiniExcel] When the sheet name is specified as $Property$, it auto splits into multiple sheets if the property is enumerable, Supports template for nested objects (PR #959) |
michelebastione left a comment (mini-software/MiniExcel#959)
@iyumot Please add instructions on how to use the feature to the readme
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
with template
model
data
specify sheetname by SheetName property, if not exist set as what in $$ plus 1,2,3
result



Resolves #300