How to Create Excel File in C#
Using the C# programming language, we’ll learn how to generate an Excel Spreadsheet.
Create Excel File in C#
Before moving on, check whether your device has the Microsoft Excel 16.0 Object Library component of the .NET Framework, which confirms a successful installation. If it has, you may proceed.
We will use Microsoft Visual Studio for this project.
Add Refference
To create an Excel file, we need to add the Microsoft Excel 16.0 Object Library as a reference. Follow these steps below if you want to know how to do so.
-
Launch
Microsoft Visual Studioand create a new C# project. -
In the
Solution Explorer, right-click on theReferencesoption, and click onAdd Referencefrom the menu bar.
-
New small window will appear. From the left panel, select
COMand then findMicrosoft Excel 16.0 Object Libraryfrom the list and click on"OK".
Create the File
The following example demonstrates how to generate an Excel file through the usage of COM interop.
-
To begin, import the following libraries.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
-
Initialize the Excel application Object before accessing the
interopservices.using Microsoft.Office.Interop.Excel; using _excel = Microsoft.Office.Interop.Excel; -
Create an Excel application called
excelapp, and then initialize the object ofWorkbookandWorksheet, which we’ll refer to aswbandws, respectively._Application excelapp = new _excel.Application(); Workbook wb; Worksheet ws;
-
Create a method called
CreateFile(). When the method is executed, it will produce a new Excel document by producing a new Excel workbook containing just one worksheet.public void CreateFile() { this.wb = excelapp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet); this.ws = this.wb.Worksheets[1]; } -
Similarly, create a method called
CreateSheet()that will add a blank worksheet to the current workbook that has been opened.public void CreateSheet() { Worksheet worksheet1 = excelapp.Worksheets.Add(After: this.ws); }
-
Create a method that will save the workbook to a path provided by the user.
public void SaveAs(string filepath) { wb.SaveAs(filepath); } -
Inside the
Main()method, we will initialize an object of theExcelclass calledExcelfile.Excel Excelfile = new Excel(); -
Start a new workbook with just one sheet using the
CreateFile()function.
```c#
Excelfile.CreateFile();
```
<!--
test:
command: c#
expected_output: |
Compilation failed: 1 error(s), 0 warnings
-->
-
Add a new sheet to the workbook using the
CreateSheet()function.Excelfile.CreateSheet(); -
Save the file in a specified path using the
SaveAs()function.
```c#
Excelfile.SaveAs(@"D:myarticle/ExcelfilebyZeeshan.xlsx");
Excelfile.wb.Close();
```
<!--
test:
command: c#
expected_output: |
Compilation failed: 1 error(s), 0 warnings
-->
Complete Source Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Office.Interop.Excel;
using _excel = Microsoft.Office.Interop.Excel;
namespace CreateExcelcsharpZeeshan {
class Excel {
_Application excelapp = new _excel.Application();
Workbook wb;
Worksheet ws;
public void CreateFile() {
this.wb = excelapp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
this.ws = this.wb.Worksheets[1];
}
public void CreateSheet() {
Worksheet worksheet1 = excelapp.Worksheets.Add(After: this.ws);
}
public void SaveAs(string filepath) {
wb.SaveAs(filepath);
}
public static void Main(string[] args) {
Excel Excelfile = new Excel();
Excelfile.CreateFile();
Excelfile.CreateSheet();
Excelfile.SaveAs(@"D:myarticle/ExcelfilebyZeeshan.xlsx");
Excelfile.wb.Close();
}
}
}
Output:

I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.
LinkedIn