MiniExcel icon indicating copy to clipboard operation
MiniExcel copied to clipboard

Optimize template generator format performance

Open shps951023 opened this issue 4 years ago • 5 comments

shps951023 avatar Apr 14 '21 01:04 shps951023

Key Problem : if remove namesapcename, prefix will loss image

it need cost to check prefix case like <x:xxx> image

shps951023 avatar Apr 14 '21 03:04 shps951023

format c innerxml is better than formating row innerxml image

image

shps951023 avatar Apr 15 '21 09:04 shps951023

void Main()
{
	var value = Enumerable.Range(1, 1_000_000).Select(s => new {V=s});
	foreach (var element in value)
	{
		
	}

	var st = new Stopwatch();
	st.Start();
	
	
	var path = Path.GetTempPath() + Guid.NewGuid() + ".xlsx";
	MiniExcel.SaveAs(path,value,true);
	
	Console.WriteLine(st.ElapsedMilliseconds);
	Console.WriteLine(path);
	
	path = Path.GetTempPath() + Guid.NewGuid() + ".xlsx";
	
	var templatePath = Path.GetTempPath() + Guid.NewGuid() + ".xlsx";
	MiniExcel.SaveAs(templatePath, new[] { new {V="{{enums.V}}"}},true);
	
	st.Restart();
	MiniExcel.SaveAsByTemplate(path,templatePath, new {enums=value});
	Console.WriteLine(st.ElapsedMilliseconds);
	Console.WriteLine(path);
}

image

shps951023 avatar May 26 '21 08:05 shps951023

        static void Main(string[] args)
        {
            var value = Enumerable.Range(1, 1_000_00).Select(s => new { V = s });
            var path = Path.GetTempPath() + Guid.NewGuid() + ".xlsx";
            MiniExcel.SaveAsByTemplate(path, @"C:\Users\Wei\AppData\Local\Temp\52a2dca4-064f-4d6c-9d2f-3208a2f880e3.xlsx", new { enums = value });
            Console.WriteLine(path);
        }

image image image

shps951023 avatar May 28 '21 01:05 shps951023

Memory Usage image image

shps951023 avatar May 28 '21 01:05 shps951023