From dadca94b91c2f5669552fefed6556f4c3d599bb0 Mon Sep 17 00:00:00 2001
From: meld-cp <18450687+meld-cp@users.noreply.github.com>
Date: Thu, 3 Sep 2026 14:40:20 +1200
Subject: [PATCH] further performance improvements
---
Source/Excel.Report.PDF/ExcelOverWriter.cs | 1027 +++++++++++------
.../ExcelPageLoopProcessor.cs | 153 +++
.../Excel.Report.PDF/IExcelSymbolConverter.cs | 11 +
.../ObjectExcelSymbolConverter.cs | 110 +-
Source/Test/Test/ExcelOverWriterTest.cs | 199 +++-
Source/Test/Test/IOverWriteFunctionTest.cs | 29 +
.../Test/ObjectExcelSymbolConverterTest.cs | 110 ++
7 files changed, 1271 insertions(+), 368 deletions(-)
create mode 100644 Source/Excel.Report.PDF/ExcelPageLoopProcessor.cs
create mode 100644 Source/Test/Test/ObjectExcelSymbolConverterTest.cs
diff --git a/Source/Excel.Report.PDF/ExcelOverWriter.cs b/Source/Excel.Report.PDF/ExcelOverWriter.cs
index bcf3c9f..0c0454e 100644
--- a/Source/Excel.Report.PDF/ExcelOverWriter.cs
+++ b/Source/Excel.Report.PDF/ExcelOverWriter.cs
@@ -1,469 +1,802 @@
-using ClosedXML.Excel;
using System.Collections;
+using ClosedXML.Excel;
namespace Excel.Report.PDF
{
+ ///
+ /// Expands template loops and replaces symbols in Excel worksheets.
+ ///
public static class ExcelOverWriter
{
- static List _overWriteFunctions = new() { new ImageOverWriteFunction(), new QRCodeOverWriteFunction() };
- public static void RegisterOverWriteFunction(IOverWriteFunction function)
- => _overWriteFunctions.Add(function);
-
- class PageLoopRowsInfo
- {
- public List