| using Microsoft.VisualStudio.TestTools.UnitTesting; |
| using OfficeOpenXml; |
| using System.IO; |
| |
| namespace EPPlusTest |
| { |
| [TestClass] |
| public class Encrypt : TestBase |
| { |
| [TestMethod] |
| [Ignore] |
| public void ReadWriteEncrypt() |
| { |
| using (ExcelPackage pck = new ExcelPackage(new FileInfo(@"Test\Drawing.xlsx"), true)) |
| { |
| pck.Encryption.Password = "EPPlus"; |
| pck.Encryption.Algorithm = EncryptionAlgorithm.AES192; |
| pck.Workbook.Protection.SetPassword("test"); |
| pck.Workbook.Protection.LockStructure = true; |
| pck.Workbook.Protection.LockWindows = true; |
| |
| pck.SaveAs(new FileInfo(@"Test\DrawingEncr.xlsx")); |
| } |
| |
| using (ExcelPackage pck = new ExcelPackage(new FileInfo(_worksheetPath + @"\DrawingEncr.xlsx"), true, "EPPlus")) |
| { |
| pck.Encryption.IsEncrypted = false; |
| pck.SaveAs(new FileInfo(_worksheetPath + @"\DrawingNotEncr.xlsx")); |
| } |
| |
| FileStream fs = new FileStream(_worksheetPath + @"\DrawingEncr.xlsx", FileMode.Open, FileAccess.ReadWrite); |
| using (ExcelPackage pck = new ExcelPackage(fs, "EPPlus")) |
| { |
| pck.Encryption.IsEncrypted = false; |
| pck.SaveAs(new FileInfo(_worksheetPath + @"DrawingNotEncr.xlsx")); |
| } |
| |
| } |
| [TestMethod] |
| [Ignore] |
| public void WriteEncrypt() |
| { |
| ExcelPackage package = new ExcelPackage(); |
| //Load the sheet with one string column, one date column and a few random numbers. |
| var ws = package.Workbook.Worksheets.Add("First line test"); |
| |
| ws.Cells[1, 1].Value = "1; 1"; |
| ws.Cells[2, 1].Value = "2; 1"; |
| ws.Cells[1, 2].Value = "1; 2"; |
| ws.Cells[2, 2].Value = "2; 2"; |
| |
| ws.Row(1).Style.Font.Bold = true; |
| ws.Column(1).Style.Font.Bold = true; |
| |
| //package.Encryption.Algorithm = EncryptionAlgorithm.AES256; |
| //package.SaveAs(new FileInfo(@"c:\temp\encrTest.xlsx"), "ABxsw23edc"); |
| package.Encryption.Password = "test"; |
| package.Encryption.IsEncrypted = true; |
| package.SaveAs(new FileInfo(@"c:\temp\encrTest.xlsx")); |
| } |
| [TestMethod] |
| [Ignore] |
| public void WriteProtect() |
| { |
| ExcelPackage package = new ExcelPackage(new FileInfo(@"c:\temp\workbookprot2.xlsx"), ""); |
| //Load the sheet with one string column, one date column and a few random numbers. |
| //package.Workbook.Protection.LockWindows = true; |
| //package.Encryption.IsEncrypted = true; |
| package.Workbook.Protection.SetPassword("t"); |
| package.Workbook.Protection.LockStructure = true; |
| package.Workbook.View.Left = 585; |
| package.Workbook.View.Top = 150; |
| |
| package.Workbook.View.Width = 17310; |
| package.Workbook.View.Height = 38055; |
| var ws = package.Workbook.Worksheets.Add("First line test"); |
| |
| ws.Cells[1, 1].Value = "1; 1"; |
| ws.Cells[2, 1].Value = "2; 1"; |
| ws.Cells[1, 2].Value = "1; 2"; |
| ws.Cells[2, 2].Value = "2; 2"; |
| |
| package.SaveAs(new FileInfo(@"c:\temp\workbookprot2.xlsx")); |
| |
| } |
| [TestMethod] |
| [Ignore] |
| public void DecrypTest() |
| { |
| var p = new ExcelPackage(new FileInfo(@"c:\temp\encr.xlsx"), "test"); |
| |
| var n = p.Workbook.Worksheets[1].Name; |
| p.Encryption.Password = null; |
| p.SaveAs(new FileInfo(@"c:\temp\encrNew.xlsx")); |
| |
| } |
| [TestMethod] |
| [Ignore] |
| public void EncrypTest() |
| { |
| var f = new FileInfo(@"c:\temp\encrwrite.xlsx"); |
| if (f.Exists) |
| { |
| f.Delete(); |
| } |
| var p = new ExcelPackage(f); |
| |
| p.Workbook.Protection.SetPassword(""); |
| p.Workbook.Protection.LockStructure = true; |
| p.Encryption.Version = EncryptionVersion.Agile; |
| |
| var ws = p.Workbook.Worksheets.Add("Sheet1"); |
| for (int r = 1; r < 1000; r++) |
| { |
| ws.Cells[r, 1].Value = r; |
| } |
| p.Save(); |
| } |
| } |
| } |