-
Notifications
You must be signed in to change notification settings - Fork 31
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
965ea7d
commit 8dcbcbb
Showing
77 changed files
with
74,967 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
|
||
Microsoft Visual Studio Solution File, Format Version 12.00 | ||
# Visual Studio Version 17 | ||
VisualStudioVersion = 17.7.34202.233 | ||
MinimumVisualStudioVersion = 10.0.40219.1 | ||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Create Excel", "Create Excel\Create Excel.csproj", "{F7CD7A44-B59A-404E-9B9E-FCE90AE8702A}" | ||
EndProject | ||
Global | ||
GlobalSection(SolutionConfigurationPlatforms) = preSolution | ||
Debug|Any CPU = Debug|Any CPU | ||
Release|Any CPU = Release|Any CPU | ||
EndGlobalSection | ||
GlobalSection(ProjectConfigurationPlatforms) = postSolution | ||
{F7CD7A44-B59A-404E-9B9E-FCE90AE8702A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
{F7CD7A44-B59A-404E-9B9E-FCE90AE8702A}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
{F7CD7A44-B59A-404E-9B9E-FCE90AE8702A}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
{F7CD7A44-B59A-404E-9B9E-FCE90AE8702A}.Release|Any CPU.Build.0 = Release|Any CPU | ||
EndGlobalSection | ||
GlobalSection(SolutionProperties) = preSolution | ||
HideSolutionNode = FALSE | ||
EndGlobalSection | ||
GlobalSection(ExtensibilityGlobals) = postSolution | ||
SolutionGuid = {E7865CCA-5BFB-41F5-A30F-17E638E5D6B7} | ||
EndGlobalSection | ||
EndGlobal |
216 changes: 216 additions & 0 deletions
216
Getting Started/GCP/Create Excel/Create Excel/Controllers/HomeController.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,216 @@ | ||
using Create_Excel.Models; | ||
using Microsoft.AspNetCore.Mvc; | ||
using System.Diagnostics; | ||
using Syncfusion.XlsIO; | ||
using Syncfusion.Drawing; | ||
|
||
namespace Create_Excel.Controllers | ||
{ | ||
public class HomeController : Controller | ||
{ | ||
private readonly ILogger<HomeController> _logger; | ||
|
||
public HomeController(ILogger<HomeController> logger) | ||
{ | ||
_logger = logger; | ||
} | ||
|
||
public IActionResult Index() | ||
{ | ||
return View(); | ||
} | ||
public ActionResult CreateDocument() | ||
{ | ||
//Create an instance of ExcelEngine | ||
using (ExcelEngine excelEngine = new ExcelEngine()) | ||
{ | ||
IApplication application = excelEngine.Excel; | ||
application.DefaultVersion = ExcelVersion.Xlsx; | ||
|
||
//Create a workbook | ||
IWorkbook workbook = application.Workbooks.Create(1); | ||
IWorksheet worksheet = workbook.Worksheets[0]; | ||
|
||
//Adding a picture | ||
FileStream imageStream = new FileStream(Path.GetFullPath("Data/AdventureCycles-Logo.png"), FileMode.Open, FileAccess.Read); | ||
IPictureShape shape = worksheet.Pictures.AddPicture(1, 1, imageStream, 20, 20); | ||
|
||
//Disable gridlines in the worksheet | ||
worksheet.IsGridLinesVisible = false; | ||
|
||
//Enter values to the cells from A3 to A5 | ||
worksheet.Range["A3"].Text = "46036 Michigan Ave"; | ||
worksheet.Range["A4"].Text = "Canton, USA"; | ||
worksheet.Range["A5"].Text = "Phone: +1 231-231-2310"; | ||
|
||
//Make the text bold | ||
worksheet.Range["A3:A5"].CellStyle.Font.Bold = true; | ||
|
||
//Merge cells | ||
worksheet.Range["D1:E1"].Merge(); | ||
|
||
//Enter text to the cell D1 and apply formatting. | ||
worksheet.Range["D1"].Text = "INVOICE"; | ||
worksheet.Range["D1"].CellStyle.Font.Bold = true; | ||
worksheet.Range["D1"].CellStyle.Font.RGBColor = Color.FromArgb(42, 118, 189); | ||
worksheet.Range["D1"].CellStyle.Font.Size = 35; | ||
|
||
//Apply alignment in the cell D1 | ||
worksheet.Range["D1"].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignRight; | ||
worksheet.Range["D1"].CellStyle.VerticalAlignment = ExcelVAlign.VAlignTop; | ||
|
||
//Enter values to the cells from D5 to E8 | ||
worksheet.Range["D5"].Text = "INVOICE#"; | ||
worksheet.Range["E5"].Text = "DATE"; | ||
worksheet.Range["D6"].Number = 1028; | ||
worksheet.Range["E6"].Value = "12/31/2018"; | ||
worksheet.Range["D7"].Text = "CUSTOMER ID"; | ||
worksheet.Range["E7"].Text = "TERMS"; | ||
worksheet.Range["D8"].Number = 564; | ||
worksheet.Range["E8"].Text = "Due Upon Receipt"; | ||
|
||
//Apply RGB backcolor to the cells from D5 to E8 | ||
worksheet.Range["D5:E5"].CellStyle.Color = Color.FromArgb(42, 118, 189); | ||
worksheet.Range["D7:E7"].CellStyle.Color = Color.FromArgb(42, 118, 189); | ||
|
||
//Apply known colors to the text in cells D5 to E8 | ||
worksheet.Range["D5:E5"].CellStyle.Font.Color = ExcelKnownColors.White; | ||
worksheet.Range["D7:E7"].CellStyle.Font.Color = ExcelKnownColors.White; | ||
|
||
//Make the text as bold from D5 to E8 | ||
worksheet.Range["D5:E8"].CellStyle.Font.Bold = true; | ||
|
||
//Apply alignment to the cells from D5 to E8 | ||
worksheet.Range["D5:E8"].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; | ||
worksheet.Range["D5:E5"].CellStyle.VerticalAlignment = ExcelVAlign.VAlignCenter; | ||
worksheet.Range["D7:E7"].CellStyle.VerticalAlignment = ExcelVAlign.VAlignCenter; | ||
worksheet.Range["D6:E6"].CellStyle.VerticalAlignment = ExcelVAlign.VAlignTop; | ||
|
||
//Enter value and applying formatting in the cell A7 | ||
worksheet.Range["A7"].Text = " BILL TO"; | ||
worksheet.Range["A7"].CellStyle.Color = Color.FromArgb(42, 118, 189); | ||
worksheet.Range["A7"].CellStyle.Font.Bold = true; | ||
worksheet.Range["A7"].CellStyle.Font.Color = ExcelKnownColors.White; | ||
|
||
//Apply alignment | ||
worksheet.Range["A7"].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignLeft; | ||
worksheet.Range["A7"].CellStyle.VerticalAlignment = ExcelVAlign.VAlignCenter; | ||
|
||
//Enter values in the cells A8 to A12 | ||
worksheet.Range["A8"].Text = "Steyn"; | ||
worksheet.Range["A9"].Text = "Great Lakes Food Market"; | ||
worksheet.Range["A10"].Text = "20 Whitehall Rd"; | ||
worksheet.Range["A11"].Text = "North Muskegon,USA"; | ||
worksheet.Range["A12"].Text = "+1 231-654-0000"; | ||
|
||
//Create a Hyperlink for e-mail in the cell A13 | ||
IHyperLink hyperlink = worksheet.HyperLinks.Add(worksheet.Range["A13"]); | ||
hyperlink.Type = ExcelHyperLinkType.Url; | ||
hyperlink.Address = "[email protected]"; | ||
hyperlink.ScreenTip = "Send Mail"; | ||
|
||
//Merge column A and B from row 15 to 22 | ||
worksheet.Range["A15:B15"].Merge(); | ||
worksheet.Range["A16:B16"].Merge(); | ||
worksheet.Range["A17:B17"].Merge(); | ||
worksheet.Range["A18:B18"].Merge(); | ||
worksheet.Range["A19:B19"].Merge(); | ||
worksheet.Range["A20:B20"].Merge(); | ||
worksheet.Range["A21:B21"].Merge(); | ||
worksheet.Range["A22:B22"].Merge(); | ||
|
||
//Enter details of products and prices | ||
worksheet.Range["A15"].Text = " DESCRIPTION"; | ||
worksheet.Range["C15"].Text = "QTY"; | ||
worksheet.Range["D15"].Text = "UNIT PRICE"; | ||
worksheet.Range["E15"].Text = "AMOUNT"; | ||
worksheet.Range["A16"].Text = "Cabrales Cheese"; | ||
worksheet.Range["A17"].Text = "Chocos"; | ||
worksheet.Range["A18"].Text = "Pasta"; | ||
worksheet.Range["A19"].Text = "Cereals"; | ||
worksheet.Range["A20"].Text = "Ice Cream"; | ||
worksheet.Range["C16"].Number = 3; | ||
worksheet.Range["C17"].Number = 2; | ||
worksheet.Range["C18"].Number = 1; | ||
worksheet.Range["C19"].Number = 4; | ||
worksheet.Range["C20"].Number = 3; | ||
worksheet.Range["D16"].Number = 21; | ||
worksheet.Range["D17"].Number = 54; | ||
worksheet.Range["D18"].Number = 10; | ||
worksheet.Range["D19"].Number = 20; | ||
worksheet.Range["D20"].Number = 30; | ||
worksheet.Range["D23"].Text = "Total"; | ||
|
||
//Apply number format | ||
worksheet.Range["D16:E22"].NumberFormat = "$.00"; | ||
worksheet.Range["E23"].NumberFormat = "$.00"; | ||
|
||
//Apply incremental formula for column Amount by multiplying Qty and UnitPrice | ||
application.EnableIncrementalFormula = true; | ||
worksheet.Range["E16:E20"].Formula = "=C16*D16"; | ||
|
||
//Formula for Sum the total | ||
worksheet.Range["E23"].Formula = "=SUM(E16:E22)"; | ||
|
||
//Apply borders | ||
worksheet.Range["A16:E22"].CellStyle.Borders[ExcelBordersIndex.EdgeTop].LineStyle = ExcelLineStyle.Thin; | ||
worksheet.Range["A16:E22"].CellStyle.Borders[ExcelBordersIndex.EdgeBottom].LineStyle = ExcelLineStyle.Thin; | ||
worksheet.Range["A16:E22"].CellStyle.Borders[ExcelBordersIndex.EdgeTop].Color = ExcelKnownColors.Grey_25_percent; | ||
worksheet.Range["A16:E22"].CellStyle.Borders[ExcelBordersIndex.EdgeBottom].Color = ExcelKnownColors.Grey_25_percent; | ||
worksheet.Range["A23:E23"].CellStyle.Borders[ExcelBordersIndex.EdgeTop].LineStyle = ExcelLineStyle.Thin; | ||
worksheet.Range["A23:E23"].CellStyle.Borders[ExcelBordersIndex.EdgeBottom].LineStyle = ExcelLineStyle.Thin; | ||
worksheet.Range["A23:E23"].CellStyle.Borders[ExcelBordersIndex.EdgeTop].Color = ExcelKnownColors.Black; | ||
worksheet.Range["A23:E23"].CellStyle.Borders[ExcelBordersIndex.EdgeBottom].Color = ExcelKnownColors.Black; | ||
|
||
//Apply font setting for cells with product details | ||
worksheet.Range["A3:E23"].CellStyle.Font.FontName = "Arial"; | ||
worksheet.Range["A3:E23"].CellStyle.Font.Size = 10; | ||
worksheet.Range["A15:E15"].CellStyle.Font.Color = ExcelKnownColors.White; | ||
worksheet.Range["A15:E15"].CellStyle.Font.Bold = true; | ||
worksheet.Range["D23:E23"].CellStyle.Font.Bold = true; | ||
|
||
//Apply cell color | ||
worksheet.Range["A15:E15"].CellStyle.Color = Color.FromArgb(42, 118, 189); | ||
|
||
//Apply alignment to cells with product details | ||
worksheet.Range["A15"].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignLeft; | ||
worksheet.Range["C15:C22"].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; | ||
worksheet.Range["D15:E15"].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; | ||
|
||
//Apply row height and column width to look good | ||
worksheet.Range["A1"].ColumnWidth = 36; | ||
worksheet.Range["B1"].ColumnWidth = 11; | ||
worksheet.Range["C1"].ColumnWidth = 8; | ||
worksheet.Range["D1:E1"].ColumnWidth = 18; | ||
worksheet.Range["A1"].RowHeight = 47; | ||
worksheet.Range["A2"].RowHeight = 15; | ||
worksheet.Range["A3:A4"].RowHeight = 15; | ||
worksheet.Range["A5"].RowHeight = 18; | ||
worksheet.Range["A6"].RowHeight = 29; | ||
worksheet.Range["A7"].RowHeight = 18; | ||
worksheet.Range["A8"].RowHeight = 15; | ||
worksheet.Range["A9:A14"].RowHeight = 15; | ||
worksheet.Range["A15:A23"].RowHeight = 18; | ||
|
||
//Saving the Excel to the MemoryStream | ||
MemoryStream stream = new MemoryStream(); | ||
workbook.SaveAs(stream, ExcelSaveType.SaveAsXLS); | ||
// Set the position as '0'. | ||
stream.Position = 0; | ||
|
||
//Download Word document in the browser. | ||
return File(stream, "application/excel", "Sample.xlsx"); | ||
} | ||
} | ||
public IActionResult Privacy() | ||
{ | ||
return View(); | ||
} | ||
|
||
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] | ||
public IActionResult Error() | ||
{ | ||
return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier }); | ||
} | ||
} | ||
} |
24 changes: 24 additions & 0 deletions
24
Getting Started/GCP/Create Excel/Create Excel/Create Excel.csproj
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
<Project Sdk="Microsoft.NET.Sdk.Web"> | ||
|
||
<PropertyGroup> | ||
<TargetFramework>net6.0</TargetFramework> | ||
<Nullable>enable</Nullable> | ||
<ImplicitUsings>enable</ImplicitUsings> | ||
<RootNamespace>Create_Excel</RootNamespace> | ||
</PropertyGroup> | ||
|
||
<ItemGroup> | ||
<None Remove="Data\AdventureCycles-Logo.png" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup> | ||
<EmbeddedResource Include="Data\AdventureCycles-Logo.png"> | ||
<CopyToOutputDirectory>Always</CopyToOutputDirectory> | ||
</EmbeddedResource> | ||
</ItemGroup> | ||
|
||
<ItemGroup> | ||
<PackageReference Include="Syncfusion.XlsIO.Net.Core" Version="23.1.41" /> | ||
</ItemGroup> | ||
|
||
</Project> |
Binary file added
BIN
+205 KB
Getting Started/GCP/Create Excel/Create Excel/Data/AdventureCycles-Logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 9 additions & 0 deletions
9
Getting Started/GCP/Create Excel/Create Excel/Models/ErrorViewModel.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
namespace Create_Excel.Models | ||
{ | ||
public class ErrorViewModel | ||
{ | ||
public string? RequestId { get; set; } | ||
|
||
public bool ShowRequestId => !string.IsNullOrEmpty(RequestId); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
var builder = WebApplication.CreateBuilder(args); | ||
|
||
// Add services to the container. | ||
builder.Services.AddControllersWithViews(); | ||
|
||
var app = builder.Build(); | ||
|
||
// Configure the HTTP request pipeline. | ||
if (!app.Environment.IsDevelopment()) | ||
{ | ||
app.UseExceptionHandler("/Home/Error"); | ||
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. | ||
app.UseHsts(); | ||
} | ||
|
||
app.UseHttpsRedirection(); | ||
app.UseStaticFiles(); | ||
|
||
app.UseRouting(); | ||
|
||
app.UseAuthorization(); | ||
|
||
app.MapControllerRoute( | ||
name: "default", | ||
pattern: "{controller=Home}/{action=Index}/{id?}"); | ||
|
||
app.Run(); |
28 changes: 28 additions & 0 deletions
28
Getting Started/GCP/Create Excel/Create Excel/Properties/launchSettings.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
{ | ||
"iisSettings": { | ||
"windowsAuthentication": false, | ||
"anonymousAuthentication": true, | ||
"iisExpress": { | ||
"applicationUrl": "http://localhost:25339", | ||
"sslPort": 44339 | ||
} | ||
}, | ||
"profiles": { | ||
"Create_Excel": { | ||
"commandName": "Project", | ||
"dotnetRunMessages": true, | ||
"launchBrowser": true, | ||
"applicationUrl": "https://localhost:7291;http://localhost:5288", | ||
"environmentVariables": { | ||
"ASPNETCORE_ENVIRONMENT": "Development" | ||
} | ||
}, | ||
"IIS Express": { | ||
"commandName": "IISExpress", | ||
"launchBrowser": true, | ||
"environmentVariables": { | ||
"ASPNETCORE_ENVIRONMENT": "Development" | ||
} | ||
} | ||
} | ||
} |
9 changes: 9 additions & 0 deletions
9
Getting Started/GCP/Create Excel/Create Excel/Views/Home/Index.cshtml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
@{ | ||
Html.BeginForm("CreateDocument", "Home", FormMethod.Get); | ||
{ | ||
<div> | ||
<input type="submit" value="Create Document" style="width:150px;height:27px" /> | ||
</div> | ||
} | ||
Html.EndForm(); | ||
} |
6 changes: 6 additions & 0 deletions
6
Getting Started/GCP/Create Excel/Create Excel/Views/Home/Privacy.cshtml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
@{ | ||
ViewData["Title"] = "Privacy Policy"; | ||
} | ||
<h1>@ViewData["Title"]</h1> | ||
|
||
<p>Use this page to detail your site's privacy policy.</p> |
25 changes: 25 additions & 0 deletions
25
Getting Started/GCP/Create Excel/Create Excel/Views/Shared/Error.cshtml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
@model ErrorViewModel | ||
@{ | ||
ViewData["Title"] = "Error"; | ||
} | ||
|
||
<h1 class="text-danger">Error.</h1> | ||
<h2 class="text-danger">An error occurred while processing your request.</h2> | ||
|
||
@if (Model.ShowRequestId) | ||
{ | ||
<p> | ||
<strong>Request ID:</strong> <code>@Model.RequestId</code> | ||
</p> | ||
} | ||
|
||
<h3>Development Mode</h3> | ||
<p> | ||
Swapping to <strong>Development</strong> environment will display more detailed information about the error that occurred. | ||
</p> | ||
<p> | ||
<strong>The Development environment shouldn't be enabled for deployed applications.</strong> | ||
It can result in displaying sensitive information from exceptions to end users. | ||
For local debugging, enable the <strong>Development</strong> environment by setting the <strong>ASPNETCORE_ENVIRONMENT</strong> environment variable to <strong>Development</strong> | ||
and restarting the app. | ||
</p> |
Oops, something went wrong.