This is my code here I am merging Files from a source Folder into a Destination Folder...
Its working Correctly in local machine but when i hosted it in IIS server Merging is not Happening
I have given full control for the corresponding folders in IIS
Please give me some valuable suggetions to fix this problem?
private void Merge(string strSourceFolder, string strDestinationFile)
{
try
{
object missing = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Excel.ApplicationClass ExcelApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
ExcelApp.Visible = false;
Microsoft.Office.Interop.Excel.Application appExcel = new Microsoft.Office.Interop.Excel.ApplicationClass();
Microsoft.Office.Interop.Excel.Workbook objBookDest = ExcelApp.Workbooks.Add(missing);
objBookDest.UserControl = true;
foreach (string filename in Directory.GetFiles(strSourceFolder))
{
if (File.Exists(filename))
{
Microsoft.Office.Interop.Excel.Workbook objBookSource = ExcelApp.Workbooks._Open
(filename, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing
,Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
foreach (Microsoft.Office.Interop.Excel.Worksheet sheet in objBookSource.Worksheets)
{
string Sheetname = sheet.Name.ToLower();
sheet.Copy(Type.Missing, objBookDest.Worksheets[objBookSource.Worksheets.Count]);
objBookSource.Close(Type.Missing, Type.Missing, Type.Missing);
objBookSource = null;
}
}
}
foreach (string filename1 in Directory.GetFiles(Server.MapPath("~\\MergeReports\\")))
{
if (File.Exists(filename1))
{
File.Delete(strDestinationFile);
break;
}
}
objBookDest.SaveAs(strDestinationFile, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, myExcel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
objBookDest.Close(Type.Missing, Type.Missing, Type.Missing);
objBookDest = null;
ExcelApp = null;
string[] filePaths = Directory.GetFiles(Server.MapPath("~\\Merge\\"));
foreach (string filePath in filePaths)
File.Delete(filePath);
}
catch (System.Exception e)
{
objException = new BaseException(BasePage.GetCurrentUser.UserID.ToString(), e);
}
}