public void GetObjectHandlerReports(IContextResponder responder, ReadOnlyMemory <byte> Name) { var stream = TemplateToExcelStream(Name.Slice(12)); if (stream != null) { responder.DeliverFile(Name.Slice(12), stream); } responder.CloseResponse(""); }
public void UpdateCreateHeaderOrContent(IContextResponder responder, ReadOnlyMemory <byte> sdata) { var screate = false; var amp = Encoder.GetBytes("&"); if (sdata.Span.IndexOf(Encoder.GetBytes("&sheetname=")) > 0) { ReadOnlyMemory <byte> name = sdata.Span.Slice(13).Slice(0, sdata.Span.IndexOf(amp)).ToArray().AsMemory(); ReadOnlyMemory <byte> sheetName = sdata.Span.Slice(13 + name.Length + 11).Slice(0, sdata.Span.IndexOf(amp)).ToArray().AsMemory(); if (sdata.Span.IndexOf(Encoder.GetBytes("&header=")) > 0) { var header = sdata.Span.Slice(13 + name.Length + 11 + sheetName.Length + 8); if (header.IndexOf(amp) > 0) { header = header.Slice(0, header.IndexOf(amp)); screate = sdata.Span.Slice(sdata.Span.LastIndexOf(amp) + 11).SequenceEqual(Encoder.GetBytes("true")); } responder.WriteResponse( HandleTemplateCreateModify( name, sheetName, Encoder.GetString(header).Split(','), screate)); } else if (sdata.Span.IndexOf(Encoder.GetBytes("&content=")) > 0) { var content = sdata.Span.Slice(13 + name.Length + 11 + sheetName.Length + 9); if (content.IndexOf(amp) > 0) { content = content.Slice(0, content.IndexOf(amp)); screate = sdata.Span.Slice(sdata.Span.LastIndexOf(amp) + 11).SequenceEqual(Encoder.GetBytes("true")); } responder.WriteResponse( HandleTemplateAddAppend( name, sheetName, Encoder.GetString(content).Split(','), screate)); } } }