From c48d15439c8210f10cf12f76b71396598e5ed38a Mon Sep 17 00:00:00 2001 From: Stoyan Goranov <35375994+StoyanGoranov@users.noreply.github.com> Date: Thu, 26 Oct 2023 16:51:02 +0300 Subject: [PATCH 1/3] add a Spreadsheet example where sheet is loaded from an .xlsx file on the server --- Telerik.Examples.Mvc/NuGet.config | 3 +- ...adsheet_Load_Xlsx_From_ServerController.cs | 39 ++++++++++++++++++ .../Telerik.Examples.Mvc/Program.cs | 1 + .../Telerik.Examples.Mvc.csproj | 1 + .../Spreadsheet_Load_Xlsx_From_Server.cshtml | 31 ++++++++++++++ .../wwwroot/files/Test.xlsx | Bin 0 -> 5868 bytes ...rik.Web.Spreadsheet.Trial.2023.1.426.nupkg | Bin 0 -> 45513 bytes 7 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 Telerik.Examples.Mvc/Telerik.Examples.Mvc/Controllers/Spreadsheet/Spreadsheet_Load_Xlsx_From_ServerController.cs create mode 100644 Telerik.Examples.Mvc/Telerik.Examples.Mvc/Views/Spreadsheet/Spreadsheet_Load_Xlsx_From_Server.cshtml create mode 100644 Telerik.Examples.Mvc/Telerik.Examples.Mvc/wwwroot/files/Test.xlsx create mode 100644 Telerik.Examples.Mvc/nuget/Telerik.Web.Spreadsheet.Trial.2023.1.426.nupkg diff --git a/Telerik.Examples.Mvc/NuGet.config b/Telerik.Examples.Mvc/NuGet.config index 753bc83..97d2dfb 100644 --- a/Telerik.Examples.Mvc/NuGet.config +++ b/Telerik.Examples.Mvc/NuGet.config @@ -1,9 +1,10 @@ - + + diff --git a/Telerik.Examples.Mvc/Telerik.Examples.Mvc/Controllers/Spreadsheet/Spreadsheet_Load_Xlsx_From_ServerController.cs b/Telerik.Examples.Mvc/Telerik.Examples.Mvc/Controllers/Spreadsheet/Spreadsheet_Load_Xlsx_From_ServerController.cs new file mode 100644 index 0000000..c858c15 --- /dev/null +++ b/Telerik.Examples.Mvc/Telerik.Examples.Mvc/Controllers/Spreadsheet/Spreadsheet_Load_Xlsx_From_ServerController.cs @@ -0,0 +1,39 @@ +using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.Mvc; +using NuGet.ContentModel; +using System.IO; +using Telerik.SvgIcons; +using Telerik.Web.Spreadsheet; + +namespace Telerik.Examples.Mvc.Controllers.Spreadsheet +{ + public class Spreadsheet_Load_Xlsx_From_ServerController : Controller + { + public IActionResult Spreadsheet_Load_Xlsx_From_Server() + { + return View("~/Views/Spreadsheet/Spreadsheet_Load_Xlsx_From_Server.cshtml"); + } + private readonly IWebHostEnvironment _hostingEnvironment; + + public Spreadsheet_Load_Xlsx_From_ServerController(IWebHostEnvironment hostingEnvironment) + { + _hostingEnvironment = hostingEnvironment; + } + + public IActionResult ReadFile() + { + string filePath = Path.Combine(_hostingEnvironment.WebRootPath, "files", "Test.xlsx"); + var exists = System.IO.File.Exists(filePath); + if (System.IO.File.Exists(filePath)) + { + Stream fileStream = System.IO.File.OpenRead(filePath); + var workbook = Workbook.Load(fileStream, Path.GetExtension(filePath)); + return Content(workbook.ToJson(), Telerik.Web.Spreadsheet.MimeTypes.JSON); + } + else + { + return Content("rugda rugdil"); + } + } + } +} diff --git a/Telerik.Examples.Mvc/Telerik.Examples.Mvc/Program.cs b/Telerik.Examples.Mvc/Telerik.Examples.Mvc/Program.cs index 80bce35..2c28d22 100644 --- a/Telerik.Examples.Mvc/Telerik.Examples.Mvc/Program.cs +++ b/Telerik.Examples.Mvc/Telerik.Examples.Mvc/Program.cs @@ -56,6 +56,7 @@ options.ViewLocationFormats.Add("/Views/MultiSelect/{0}" + RazorViewEngine.ViewExtension); options.ViewLocationFormats.Add("/Views/Scheduler/{0}" + RazorViewEngine.ViewExtension); options.ViewLocationFormats.Add("/Views/StylesAndLayout/{0}" + RazorViewEngine.ViewExtension); + options.ViewLocationFormats.Add("/Views/Spreadsheet/{0}" + RazorViewEngine.ViewExtension); }); builder.Services.AddDbContext(options => diff --git a/Telerik.Examples.Mvc/Telerik.Examples.Mvc/Telerik.Examples.Mvc.csproj b/Telerik.Examples.Mvc/Telerik.Examples.Mvc/Telerik.Examples.Mvc.csproj index 3296fe3..f20cfee 100644 --- a/Telerik.Examples.Mvc/Telerik.Examples.Mvc/Telerik.Examples.Mvc.csproj +++ b/Telerik.Examples.Mvc/Telerik.Examples.Mvc/Telerik.Examples.Mvc.csproj @@ -22,6 +22,7 @@ + diff --git a/Telerik.Examples.Mvc/Telerik.Examples.Mvc/Views/Spreadsheet/Spreadsheet_Load_Xlsx_From_Server.cshtml b/Telerik.Examples.Mvc/Telerik.Examples.Mvc/Views/Spreadsheet/Spreadsheet_Load_Xlsx_From_Server.cshtml new file mode 100644 index 0000000..4fe83ef --- /dev/null +++ b/Telerik.Examples.Mvc/Telerik.Examples.Mvc/Views/Spreadsheet/Spreadsheet_Load_Xlsx_From_Server.cshtml @@ -0,0 +1,31 @@ +@(Html.Kendo().Spreadsheet() + .Name("spreadsheet") + .HtmlAttributes(new { style = "width:100%" }) + .Toolbar(false) + .Sheetsbar(false) + .Excel(excel => excel + .ProxyURL(Url.Action("Index_Save", "Spreadsheet")) + ) + .Pdf(pdf => pdf + .ProxyURL(Url.Action("Index_Save", "Spreadsheet")) + ) + ) + + \ No newline at end of file diff --git a/Telerik.Examples.Mvc/Telerik.Examples.Mvc/wwwroot/files/Test.xlsx b/Telerik.Examples.Mvc/Telerik.Examples.Mvc/wwwroot/files/Test.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..ef4cc0b7d3b42d3d78405d4346aa467b9ed68eb4 GIT binary patch literal 5868 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 B$L|0D literal 0 HcmV?d00001 From fafac5d3bec0ed14ed2d93ce59e1da2abbe01572 Mon Sep 17 00:00:00 2001 From: Stoyan Goranov <35375994+StoyanGoranov@users.noreply.github.com> Date: Mon, 27 Nov 2023 16:29:37 +0200 Subject: [PATCH 2/3] address-review --- Telerik.Examples.Mvc/NuGet.config | 1 + .../Telerik.Examples.Mvc/Telerik.Examples.Mvc.csproj | 2 +- .../Views/Spreadsheet/Spreadsheet_Load_Xlsx_From_Server.cshtml | 1 - 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Telerik.Examples.Mvc/NuGet.config b/Telerik.Examples.Mvc/NuGet.config index 97d2dfb..5ccd2b0 100644 --- a/Telerik.Examples.Mvc/NuGet.config +++ b/Telerik.Examples.Mvc/NuGet.config @@ -5,6 +5,7 @@ + diff --git a/Telerik.Examples.Mvc/Telerik.Examples.Mvc/Telerik.Examples.Mvc.csproj b/Telerik.Examples.Mvc/Telerik.Examples.Mvc/Telerik.Examples.Mvc.csproj index f20cfee..dff855e 100644 --- a/Telerik.Examples.Mvc/Telerik.Examples.Mvc/Telerik.Examples.Mvc.csproj +++ b/Telerik.Examples.Mvc/Telerik.Examples.Mvc/Telerik.Examples.Mvc.csproj @@ -22,7 +22,7 @@ - + diff --git a/Telerik.Examples.Mvc/Telerik.Examples.Mvc/Views/Spreadsheet/Spreadsheet_Load_Xlsx_From_Server.cshtml b/Telerik.Examples.Mvc/Telerik.Examples.Mvc/Views/Spreadsheet/Spreadsheet_Load_Xlsx_From_Server.cshtml index 4fe83ef..f8c374d 100644 --- a/Telerik.Examples.Mvc/Telerik.Examples.Mvc/Views/Spreadsheet/Spreadsheet_Load_Xlsx_From_Server.cshtml +++ b/Telerik.Examples.Mvc/Telerik.Examples.Mvc/Views/Spreadsheet/Spreadsheet_Load_Xlsx_From_Server.cshtml @@ -19,7 +19,6 @@ $.ajax({ url: "@Url.Action("ReadFile","Spreadsheet_Load_Xlsx_From_Server")", success: function (e) { - console.log(e); var spreadsheet = $("#spreadsheet").data("kendoSpreadsheet"); spreadsheet.fromJSON(e); }, From f8fb663fe84470d82d64b2cac5440991c80499df Mon Sep 17 00:00:00 2001 From: Stoyan Goranov <35375994+StoyanGoranov@users.noreply.github.com> Date: Tue, 28 Nov 2023 12:01:56 +0200 Subject: [PATCH 3/3] fix: add a missing file message in Controller --- .../Spreadsheet/Spreadsheet_Load_Xlsx_From_ServerController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Telerik.Examples.Mvc/Telerik.Examples.Mvc/Controllers/Spreadsheet/Spreadsheet_Load_Xlsx_From_ServerController.cs b/Telerik.Examples.Mvc/Telerik.Examples.Mvc/Controllers/Spreadsheet/Spreadsheet_Load_Xlsx_From_ServerController.cs index c858c15..fcf06c2 100644 --- a/Telerik.Examples.Mvc/Telerik.Examples.Mvc/Controllers/Spreadsheet/Spreadsheet_Load_Xlsx_From_ServerController.cs +++ b/Telerik.Examples.Mvc/Telerik.Examples.Mvc/Controllers/Spreadsheet/Spreadsheet_Load_Xlsx_From_ServerController.cs @@ -32,7 +32,7 @@ public IActionResult ReadFile() } else { - return Content("rugda rugdil"); + return Content("Request file does not exist."); } } }