2017-07-07 88 views
2

標題幾乎說明了一切。尋找使用ExcelDataReader和Epplus訪問受密碼保護的excel文件的方法,找不到合適的答案。使用ExcelDataReader和Epplus訪問受保護的Excel文件

如果使用ExcelDataReader,我的代碼看起來像

   excelStream = File.Open(excelFilePath, FileMode.Open, FileAccess.Read); 
       excelReader = ExcelReaderFactory.CreateOpenXmlReader(excelStream); 
       excelDataSet = excelReader.AsDataSet(); 

如果使用EPPlus我的連接代碼看起來像

  excelPackage = new ExcelPackage(new FileInfo(excelFilePath)); 
      excelWorkbook = excelPackage.Workbook; 
      excelSheet = excelWorkbook.Worksheets[1]; 

EPPlus有一些保護相關的方法,但我無法弄清楚如何使用他們。 ExcelDataReader似乎沒有任何保護相關的方法。

任何提示讚賞,謝謝。

編輯:我已經知道密碼

+0

@hellyale是的,我反對使用Interop的各種不相干的原因,試圖用這些包完成它 –

回答

1

隨着EPPlus可以使用

excelPackage = new ExcelPackage(new FileInfo(excelFilePath), "mypassword");

ExcelDataReader現在支持打開密碼保護表。我在他們的GitHub上打開了一個issue,詢問他們是否有這樣的支持,並收到回覆說他們不支持,但在某段時間後,他們添加了對某些密碼方法的支持。鏈接中有關他們仍不支持的密碼方法的詳細信息。

+0

感謝。比預期容易! ExcelDataReader的任何提示?它甚至有可能使用該軟件包? –

+1

嗨@MikeH ExcelDataReader的維護者回應說他們的庫不支持所需的功能。關於這些壞消息我很遺憾。如果這個答案對你有幫助,請考慮加價並接受它作爲答案。謝謝 – hellyale

+1

嘿人有沒有辦法在這個網站上的私人信息?我知道它不適合以這種方式迴應,但是我想說一聲謝謝你幫助我走出去,非常感謝 –