Hi dhimmartej,
Refer the below sample code for merging multiple excel files into one with their sheet names using Microsoft.Office.Interop.Excel library.
There is no problem with image or anything.
C#
int dd = DateTime.Now.Day;
int mm = DateTime.Now.Month;
int yy = DateTime.Now.Year;
int hour = DateTime.Now.Hour;
int minute = DateTime.Now.Minute;
long ticks = DateTime.Now.Ticks;
string sourcePath = @"D:\RGT_SVN\RGT\RGT\Reportpath";
string destinationPath = @"D:\RGT_SVN\RGT\RGT\OutputFiles";
DirectoryInfo d = new DirectoryInfo(sourcePath);
FileInfo[] Files = d.GetFiles("*.xlsx");
List<string> rawFilesDirectory = new List<string>();
foreach (FileInfo file in Files)
{
rawFilesDirectory.Add(file.FullName);
}
Application app = new Application();
app.Visible = true;
for (int i = 0; i < rawFilesDirectory.Count; i++)
{
Workbook wb = app.Workbooks.Add(rawFilesDirectory[i]);
}
for (int i = 2; i <= app.Workbooks.Count; i++)
{
for (int j = 1; j <= app.Workbooks[i].Worksheets.Count; j++)
{
Worksheet ws = (Worksheet)app.Workbooks[i].Worksheets[j];
ws.Copy(app.Workbooks[1].Worksheets[1]);
}
}
app.Workbooks[1].SaveCopyAs(destinationPath + "\\" + dd.ToString() + mm.ToString() + yy.ToString() + hour.ToString() + minute.ToString() + ticks.ToString() + ".xlsx");
for (int i = 1; i < app.Workbooks.Count; i++)
{
app.Workbooks[i].Close(0);
}
app.Quit();