Пример #1
0
        void GetPathingExcel(string FilePath)
        {
            string NewPath     = FilePath;
            string NewFileName = FilePath;

            //Получаем путь файла
            NewPath = NewPath.Remove(NewPath.LastIndexOf("\\"));
            //имя файла
            NewFileName = NewFileName.Remove(0, NewFileName.LastIndexOf("\\") + 1);
            NewFileName = NewFileName.Remove(NewFileName.LastIndexOf("."));
            //копируем Excel файл с расширением Zip
            File.Copy(FilePath, NewPath + "\\Copy.zip");
            //рабочая директория
            string workDirectory = NewPath + "\\ExcelPatcher";

            //извелечение архива
            ZipFile.ExtractToDirectory(NewPath + "\\Copy.zip", workDirectory);
            //Удаляем архив
            //File.Delete(NewPath + "\\Copy.zip");
            /****РАБОТА С ЛИСТАМИ EXCEL*****/
            string CurDir = workDirectory;

            CurDir += "\\xl\\worksheets";
            int CounterFiles = Directory.GetFiles(CurDir).Length;

            for (int i = 0; i < CounterFiles; i++)
            {
                string      CurrentFile = CurDir + "\\sheet" + (i + 1) + ".xml";
                XmlDocument doc         = new XmlDocument();
                doc.Load(CurrentFile);
                XmlNode xmlNode = doc.GetElementsByTagName("sheetProtection")[0];
                xmlNode.ParentNode.RemoveChild(xmlNode);
                doc.Save(CurrentFile);
            }
            /****************************/
            ZipFile.CreateFromDirectory(workDirectory, NewPath + "\\" + NewFileName + "(без защиты)" + ".xlsx");
            //Удаляем директорию с временными файлами
            //Directory.Delete(workDirectory, true);
            //Спрашиваем открытие директории
            OpenDirectory od = new OpenDirectory(NewPath);

            od.Show();
        }
Пример #2
0
        private void Window_Closed(object sender, EventArgs e)
        {
            OpenDirectory od = new OpenDirectory(DirPath);

            od.Show();
        }