Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

How to create excel file with multiple sheet name based on modules?

Status
Not open for further replies.

ahmedsa2018

Programmer
Apr 25, 2018
67
EG
I work on c# desktop app I Can't export data to excel file with multiple tab(multi sheet).

only that i can do create excel file with only sheet based on data exist on data table module field.

I use open XML library

Data table data as below :

Divide Output Excel File To Multi Tab based On Module

PartId Company Files Tab Module
1222 micro Abc source 1
1321 silicon Abc source 1
1444 cd2 Abc types 2
1321 cd3 Abc types 2
1541 tvs Abc types 2
Expected Result :

Create File ABC.xlsx with two sheet first sheet name source and second sheet name types based on module and load data related to every sheet based on data exist on data table.

so if I have two modules meaning I have two sheet .

What I have tried:

Code:
public Boolean createExcelFile(DataTable Table,String FullFilePathName)
      {
          Boolean IsDone = false;
          try
          {
              FileInfo CreatedFile = new FileInfo(FullFilePathName);
              Boolean ISNew = false;
              if (!CreatedFile.Exists)
              {

                  ISNew = true;
              }
              using (var pck = new ExcelPackage(CreatedFile))
              {
                  ExcelWorksheet ws;
                  if (ISNew == true)
                  {
                      ws = pck.Workbook.Worksheets.Add("Sheet");




                      ws.Cells[1, 1].LoadFromDataTable(Table, ISNew, OfficeOpenXml.Table.TableStyles.Light8);
                  }

                  else
                  {
                       ws = pck.Workbook.Worksheets.FirstOrDefault();
                       ws.Cells[2, 1].LoadFromDataTable(Table, ISNew);
                  }
                  pck.Save();
                  IsDone = true;

              }
          }
          catch (Exception ex)
          {

              throw ex;
          }
          return IsDone;
      }
but problem code above create one files with one sheet only

so How to create file with multi sheet based on module ?
 
This creates a sheet called "Sheet"
Code:
ws = pck.Workbook.Worksheets.Add("Sheet");
The next sheet you create cannot have the same name so what you could do is
Code:
int sheets = 0;
....
sheets += 1;
ws = pck.Workbook.Worksheets.Add("Sheet"+sheets.ToString());
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top