1. 程式人生 > 其它 >Wps呼叫dll操作Excel表格轉PDF

Wps呼叫dll操作Excel表格轉PDF

起始原因:wps編輯建立的文件在microsoft office 中開啟,會報內容存在異常是否恢復,因此wps檔案被微軟設定為破損檔案,無法對原有文件進行操作執行,故在此使用wpsExcel進行操作。

環境要求:首先安裝wps專業版或企業版安裝包,並註冊,未註冊的軟體,程式呼叫時無法正常啟動,它會啟動註冊介面,無法對Excel進行實際程式碼操作。

安裝成功後,在程式中引用兩個com元件,該元件為wps註冊程式引用的dll檔案

下邊一個為Exceldll檔案,上面的是wps程式的關鍵dll檔案

開發環境說明

Vs  .net core整合操作wps

實質:通過程式呼叫wps客戶端,啟動程式後對其進行需要的操作,以載入

Excel檔案並儲存為PDF為例

Source為原始檔地址,target為目標PDF檔案地址

public void newapp(string source, string target)

        {

            Excel.ApplicationClass mexcel = new Excel.ApplicationClass();

            object missing = Type.Missing;

            try

            {

                mexcel.Visible = false;

                Excel.Workbook mdoc = mexcel.Workbooks.Open(source, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);

                mdoc.Save();

                //儲存為Pdf

                mdoc.ExportAsFixedFormat(Excel.XlFixedFormatType.xlTypePDF, target, Excel.XlFixedFormatQuality.xlQualityStandard, true, false, missing, missing, missing, missing);

                mdoc.Close(missing, missing, missing);

            }

            catch (Exception ex)

            {

                Console.WriteLine(ex);

            }

            finally

            {

                //System.Runtime.InteropServices.Marshal.ReleaseComObject(app);

                mexcel.Quit();

                GC.Collect();

                GC.WaitForPendingFinalizers();

                GC.Collect();

                GC.WaitForPendingFinalizers();

            }

        }

如果後期部署的話,無法找到對應dll檔案,或者安裝的wps版本不一致,那麼可能會導致無法通過登錄檔啟動程式,需要將對應的dll引用到釋出包下

Wps必備引用ksoapi.dll

excel必備引用:etapi.dll

Dll的位置均在wps的安裝路徑下的\wps\WPS Office\11.1.0.12598\office6\