We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

How to identify a password protected excel document and provide the password dynamically?

Platform: WinForms |
Control: XlsIO

If an excel document is encrypted with a password, XlsIO supports to raise an event to provide the password dynamically. The code snippets to provide password dynamically is given below.

C#

         
 private void btnCreate_Click(object sender, System.EventArgs e)
 {
     ExcelEngine excelEngine = new ExcelEngine();
 
                IApplication application = excelEngine.Excel;
 
                application.OnPasswordRequired += application_OnPasswordRequired;
 
               IWorkbook workbook;
 
                string inputPath = GetFullTemplatePath("Sample.xlsx");
 
                workbook = application.Workbooks.Open(inputPath, ExcelOpenType.Automatic);                     
 
                IWorksheet sheet = workbook.Worksheets[0];
 
                workbook.Version = ExcelVersion.Excel2010;
                string fileName = @"../../Output/Output.xlsx";
 
                workbook.SaveAs(fileName);
 }
 
         void application_OnPasswordRequired(object sender, PasswordRequiredEventArgs e)
         {
                e.NewPassword = "syncfusion";
         }
 

VB

            Dim excelEngine As ExcelEngine = New ExcelEngine()
 
            Dim application As IApplication = excelEngine.Excel
 
            application.OnPasswordRequired += application_OnPasswordRequired
 
            Dim workbook As IWorkbook
 
            Dim inputPath As String = GetFullTemplatePath("Sample.xlsx")
 
            workbook = application.Workbooks.Open(inputPath, ExcelOpenType.Automatic)
 
            Dim sheet As IWorksheet = workbook.Worksheets(0)
 
            workbook.Version = ExcelVersion.Excel2010
            Dim fileName As String = "../../Output/Output.xlsx"
 
            workbook.SaveAs(fileName)
 
        Private Sub application_OnPasswordRequired(ByVal sender As Object, ByVal e As PasswordRequiredEventArgs)
            e.NewPassword = "syncfusion"
        End Sub 

 

The sample illustrating the behavior can be downloaded here.

 

 

 

2X faster development

The ultimate WinForms UI toolkit to boost your development speed.
ADD COMMENT
You must log in to leave a comment
Comments
Colin Hill
Nov 19, 2016
I have tried this example in my WPF project (with some small adaptations) and it does not work.

It throws {"Strong encryption algorithms are not supported."} exception and does not raise the event.

I am using version 13.3.0.18.

Any advice you can give would be much appreciated.

Thank you

Colin.
Reply
Patricio Venegas B
Sep 22, 2021

So.. no solution after 5 years?

Please sign in to access our KB

This page will automatically be redirected to the sign-in page in 10 seconds.

Up arrow icon

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon

Live Chat Icon For mobile