How to create an Excel file in ASP.NET Core?
Syncfusion® Essential XlsIO is a .NET Excel library used to create, read, and edit Excel documents. Using this library, you can start creating an Excel document in ASP.NET Core.
Steps to create an Excel file programmatically:
- Create a new C# ASP.NET Core the Web Application project.
- Select Web Application pattern (Model-View-Controller) for the project.
- Install the Syncfusion.XlsIO.Net.Core NuGet package as reference to your .NET Standard applications from NuGet.org.
- A default action method named Index will be present in HomeController.cs. Right-click on the Index method and select "Go To View," where you will be directed to its associated view page Index.cshtml.
using Syncfusion.XlsIO; using System.IO;
Imports Syncfusion.XlsIO Imports System.IO
- A default action method named Index will be present in HomeController.cs. Right click on Index method and select Go To View where you will be directed to its associated view page Index.cshtml.
- Add a new button in the Index.cshtml as shown below.
@{Html.BeginForm("CreateDocument", "Home", FormMethod.Get); { <div> <input type="submit" value="Create Document" style="width:150px;height:27px" /> </div> } Html.EndForm(); }
- Add a new action method CreateDocument in HomeController.cs and include the below code snippet to create an Excel file and download it.
// Initialize ExcelEngine. using (ExcelEngine excelEngine = new ExcelEngine()) { // Initialize Application. IApplication application = excelEngine.Excel; // Set default version for application. application.DefaultVersion = ExcelVersion.Excel2013; // Create a new workbook. IWorkbook workbook = application.Workbooks.Create(1); // Access the first worksheet in the workbook. IWorksheet worksheet = workbook.Worksheets[0]; // Adding text to a cell worksheet.Range["A1"].Text = "Hello World"; // Saving the Excel to the MemoryStream MemoryStream stream = new MemoryStream(); workbook.SaveAs(stream); // Set the position as '0'. stream.Position = 0; // Download the Excel file in the browser FileStreamResult fileStreamResult = new FileStreamResult(stream, "application/excel"); fileStreamResult.FileDownloadName = "Output.xlsx"; return fileStreamResult; }
'Initialize ExcelEngine. Using excelEngine As ExcelEngine = New ExcelEngine 'Initialize Application. Dim application As IApplication = excelEngine.Excel 'Set default version for application. application.DefaultVersion = ExcelVersion.Excel2013 'Create a new workbook. Dim workbook As IWorkbook = application.Workbooks.Create(1) 'Access the first worksheet in the workbook. Dim worksheet As IWorksheet = workbook.Worksheets(0) 'Adding text to a cell worksheet.Range("A1").Text = "Hello World" 'Saving the Excel to the MemoryStream Dim stream As MemoryStream = New MemoryStream workbook.SaveAs(stream) 'Set the position as '0' stream.Position = 0 'Download the Excel file in the browser Dim fileStreamResult As FileStreamResult = New FileStreamResult(stream, "application/excel") fileStreamResult.FileDownloadName = "Output.xlsx" Return fileStreamResult End Using
A complete working example of how to create an Excel file in ASP.NET Core can be downloaded from Create-Excel-file.zip.
By executing the program, you will get the Excel file as follows.
Take a moment to peruse the documentation, where you can find basic worksheet data manipulation options along with features like Conditional Formatting, worksheet calculations through Formulas, adding Charts in worksheet or workbook, organizing and analyzing data through Tables and Pivot Tables, appending multiple records to worksheet using Template Markers, and most importantly PDF and Image conversions etc., with code examples.
Refer here to explore the rich set of Syncfusion® Essential XlsIO features.
An online sample link to generate Excel file.
Note:
Starting with v16.2.0.x, if you reference Syncfusion® assemblies from a trial setup or from the NuGet feed, include a license key in your projects. Refer to the link to learn about generating and registering the Syncfusion® license key in your application to use the components without a trial message.
Conclusion
I hope you enjoyed learning about how to create an Excel file in ASP.NET Core.
You can refer to our ASP.NET Core XIsIO feature tour page to know about its other groundbreaking feature representations and documentation, and how to quickly get started for configuration specifications. You can also explore our ASP.NET Core XIsIO example to understand how to create and manipulate data.
For current customers, you can check out our components from the License and Downloads page. If you are new to Syncfusion, you can try our 30-day free trial to check out our other controls.
If you have any queries or require clarifications, please let us know in the comments section below. You can also contact us through our support forums, Direct-Trac, or feedback portal. We are always happy to assist you!