iT邦幫忙

0

c# 讀取有密碼保護的excel

目前有c#可以讀取沒有受密碼保護的excel,但現在有密碼保護的excel要怎麼讀取阿~
這是沒有密碼保護的程式碼:

        static public DataSet ExcelToDataSet(string filename)
        {
            DataSet ds;
            string strConn = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'", filename);
            OleDbConnection myConn = new OleDbConnection(strConn);
            string strCom = " SELECT * FROM [sheet$]";
            myConn.Open();
            OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn);
            ds = new DataSet();
            myCommand.Fill(ds);
            myConn.Close();
            return ds;
        }
我用C# + Epplus開啟密碼保護+隱藏列的xlsx沒遇到問題耶,故意保護特定的資料列都沒遇到問題,是否考慮改用其他方法開啟EXCEL檔看看

1 個回答

0
paicheng0111
iT邦高手 1 級 ‧ 2021-02-18 16:22:20
最佳解答

有密碼保護的EXCEL檔案,好像不能用OLEDB的方式開啟。

你可能要參考 https://stackoverflow.com/a/37232899/6202343

sibulun iT邦新手 5 級 ‧ 2021-02-19 08:10:45 檢舉

後來用奇怪的方法解決,先複製excel -> 解密 -> 再用OLEDB開啟存到 dataset -> 再刪除解密的文件

我要發表回答

立即登入回答