• excel 保护Sheet


     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();
            }
        }
  • 相关阅读:
    合并多个DLL或EXE
    Flash Media Server (FMS) 用户验证与计费设计
    javascript 自动填写表单
    备份数据库的SQL
    模拟浏览器请求URL 带Cookie
    DataGridView 导出 Excel
    SpringMVC使用MultipartFile上传文件
    springboot下载excel模板
    20175126《Java程序设计》第三学习总结
    201820192 20175126谢文航 实验一《Java开发环境的熟悉》实验报告
  • 原文地址:https://www.cnblogs.com/TNTZWC/p/1945134.html
Copyright © 2020-2023  润新知