private void OpenForEditSheet(string strFilePath, string strSheetName)
{
Microsoft.Office.Interop.Excel.ApplicationClass xlApp = new ApplicationClass();
Microsoft.Office.Interop.Excel.Workbooks xlWorkbooks;
Microsoft.Office.Interop.Excel.Workbook xlWorkbook;
Microsoft.Office.Interop.Excel.Worksheet xlWorksheet;
System.Type tyWorkbooks;
System.Reflection.MethodInfo[] methods;
object objFilePath;
object oMissing = System.Reflection.Missing.Value;
strFilePath = Server.MapPath(strFilePath);
if (!System.IO.File.Exists(strFilePath))
{
throw new System.IO.FileNotFoundException();
return;
}
try
{
xlApp.Visible = true;
xlWorkbooks = xlApp.Workbooks;
tyWorkbooks = xlWorkbooks.GetType();
methods = tyWorkbooks.GetMethods();
objFilePath = strFilePath;
object Nothing = System.Reflection.Missing.Value;
xlWorkbook = xlApp.Workbooks.Open(strFilePath, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing);
xlWorksheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkbook.Worksheets[strSheetName];
foreach (Worksheet sheet in xlWorkbook.Worksheets)
{
sheet.Protect("123", Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing);
}
foreach (Worksheet sheet in xlWorkbook.Worksheets)
{
if (sheet.Name.ToUpper() == strSheetName.ToUpper())
{
sheet.Unprotect("123");
}
}
xlWorksheet.Activate();
//xlWorksheet.Visible = XlSheetVisibility.xlSheetVisible;
//xlWorkbook.Close(oMissing, oMissing, oMissing);
}
catch (Exception ex)
{
throw ex;
}
finally
{
//if (xlApp != null)
//{
// xlApp.Quit();
// System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp);
// xlApp = null;
//}
//GC.Collect();
}
}