從 JMP/JSL 開啟 Microsoft Office 365 雲端的 Excel?JMP 最近獲得了開啟 Google 試算表的內建功能。在此之前,我在腳本中呼叫一個名為 Googlesheets 的 R 套件來開啟它們。現在我的公司正在遷移到 Office 365,因此我們將擁有基於雲端的共用 Excel 工作表,但我不確定如何能夠讀取這些工作表。有人直接在 JMP/JSL 中開啟這些嗎?
自動化和腳本編寫回覆:從 JMP/JSL 開啟 Microsoft Office 365 基於雲端的 Excel?我做了一個類似的嘗試,但我在新視窗中放置了一個網頁瀏覽器框。這給了我一個可以關閉的顯示框。
credentials = New Window( "quick open", Web Browser Box( "path to site" ) );<BR />credentials<<CLOSE window=""></CLOSE>
回覆:從 JMP/JSL 開啟 Microsoft Office 365 基於雲端的 Excel?謝謝,但不幸的是它似乎無法與 O365 URL 一起使用(既按原樣又在下載後=1?)。
我收到訊息:無法解析主機我的公司.sharepoint.com
這很奇怪,因為同一種 URL 對於 .jmp 資料表和 open() 來說運作得很好。
馬泰奧
回覆:從 JMP/JSL 開啟 Microsoft Office 365 基於雲端的 Excel?這並非特定於 o365,而是從 URL 作為本機路徑開啟 .jmpaddin。 至少我看到了本機路徑和其他非辦公室 URL 之間的差異。
這是我從同事那裡得到的一種刷新位於可透過 URL 存取的位置的插件的方法...使用 NewHTTPRequest() 取得文件,放入本機位置,然後 open()

回覆:從 JMP/JSL 開啟 Microsoft Office 365 基於雲端的 Excel?你好,
我有一個類似的問題。 這裡提出的解決方案適用於 .jmp 文件,但不適用於儲存在 O365 中的 .jmpaddin 文件,我想直接從 JSL 腳本打開該文件。我收到“無法打開”錯誤。如果我打開本地 .jmpaddin 文件,一切正常。
有什麼建議嗎?
謝謝
馬泰奧
回覆:從 JMP/JSL 開啟 Microsoft Office 365 基於雲端的 Excel?好吧,我的大問題被同事指出了...我的文件連結看起來不像我顯示的那樣乾淨整潔(我可以看到這一點,但他有一個來自我們系統的範例做過)。我確實以不同的方式獲得了文件的連結(包括瀏覽器中顯示的URL 和帶有“複製連結”選項的共享按鈕),並且它們在貼上到Chrome 或Microsoft Edge 瀏覽器中時都有效,但不是像這樣結束...
資料夾/子資料夾/檔案%20name.xlsx
他們都有這樣的額外東西......
%7B21C93788-01B3-4508-8EC9-5451FBB8AEB6%7D
所以即使我把它簡化為“?”在文件名之後,我沒有明顯正確的 URL 類型來使其工作。
然後可能有必要執行我建議的第二部分,即透過 Web() 登入以在 JMP 特定瀏覽器中輸入憑證,但我不確定,因為我之前已經這樣做了(所以不確定它是否適用於此URL基於其他瀏覽器是否儲存的憑證)。現在我有了一個更好版本的 URL,它可以很好地從 JSL 打開。不需要 ?download=1 並且到目前為止不僅記住了會話的憑證,我已經重新啟動了 3 次,並且每次都可以從一開始就執行此操作,而無需請求憑證...
打開(” https://company.sharepoint.com/:x:/r/sites/Site/Shared%20Documents/Folder/Subfolder/File%20name.xlsx ”);
我現在唯一的問題是,由於我沒有明確發送憑證,我不確定什麼可能會讓它忘記它們,但到目前為止,它似乎很擅長記住它們。
謝謝!
回覆:從 JMP/JSL 開啟 Microsoft Office 365 基於雲端的 Excel?謝謝! 如上所述,我現在正在尋求技術支援。 我不確定我的問題是否與我們的實施有關(目前只是一個試用沙箱,因為我們尚未切換到 o365),還是有關透過 JMP 使用憑證的一般問題。 但這就是當我嘗試你的想法時會發生的事情.. 取得憑證頁面後,我可以開啟父頁面,就像您直接在 JMP Web 視窗中顯示的那樣。 這是 o365 主頁,看起來就像在其他瀏覽器中一樣。 但這不僅不允許 Open() 工作,而且我實際上無法在那裡開啟子 Excel 工作表。 父頁面列出了工作表,但如果我嘗試輸入工作表的 URL(在我已登入的 JMP Web 視窗中),我會看到“抱歉,您無權訪問”頁面,但它可以正常工作在Chrome或Microsoft Edge 中。 如果我只是嘗試透過點擊 JMP Web 視窗中的父頁面以互動方式開啟工作表 - 它會在 Chrome 中開啟!回覆:從 JMP/JSL 開啟 Microsoft Office 365 基於雲端的 Excel?謝謝....實際聯繫了技術支持我基於這篇文章(可能與您的回覆有關,表明這對他們來說是一個問題)。多麼酷啊?!沒有立即產生解決方案,但可能會產生,我很感激。
但也是因為我懷疑可能有 JMP 之外的解決方案,我仍然有興趣看看是否有其他處於類似情況的用戶找到了任何東西 - 例如可能是用於與 o365 對話的 python 包解決方案...
我正在尋找一種處理憑證的全自動解決方案。
回覆:從 JMP/JSL 開啟 Microsoft Office 365 基於雲端的 Excel?首先嘗試在 JMP Web 視窗中開啟檔案或父目錄。這應該會打開登入畫面,您可以在其中輸入憑證。 一旦您在 JMP 會話中登入一次,這些憑證就應該隨後續的 open 呼叫一起傳遞。可能有一種方法可以自動化,但我不確定如何實現。
Web( "https://teams.microsoft.com", JMP window );
由於您提到在 R 中獲取此數據,因此您始終可以調用 R 代碼直接從 JMP 獲取數據。
我同意 txnelson 的建議,為此開立 JMP 票證;它不應該那麼難。
回覆:從 JMP/JSL 開啟 Microsoft Office 365 基於雲端的 Excel?我建議您將此問題提交給 JMP 支援團隊。
support@jmp.com
如果他們目前不支持,那麼這必須是他們需要能夠支持的東西。透過聯繫支援團隊,問題將被追蹤直至實施。
回覆:從 JMP/JSL 開啟 Microsoft Office 365 基於雲端的 Excel?謝謝! 這很有幫助,但對我來說不起作用。我收到 403 錯誤,我假設我需要某種方法來傳遞憑證才能使其工作(儘管目前我只有 o365 實現的測試環境,真正的企業版本也將受到密碼保護。我不能在沒有登入的情況下使用瀏覽器去那裡。)。JMP 內建 googlesheets 解決方案和我使用的 R 解決方案都使用了 OAuth。
在類似的情況下,這對您有用嗎?您必須登入瀏覽器才能存取工作表,但如果 JMP 知道 URL,它就可以開啟?
回覆:從 JMP/JSL 開啟 Microsoft Office 365 基於雲端的 Excel?看起來需要幾個步驟才能做到這一點:
- 在 Office 365/sharepoint/teams/etc 中,取得文件的連結(通常在 Web 瀏覽器中開啟文件)
- 刪除 ? 之後的所有內容在連結中並將其替換為 download=1
- 在本機上儲存檔案的副本,並使用您的首選設定在 JMP 中開啟它,然後開啟並複製儲存到該資料表的「來源」腳本。
- 將檔案位置替換為您剛剛修改的 url。
你的腳本看起來像這樣:
dt = Open("https://company.sharepoint.com/:x:/r/sites/Site/Shared%20Documents/Folder/Subfolder/File%20name.xlsx?download=1",
Worksheets( "Sheet 1" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 1 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);運行它,希望您能看到 Excel 數據。祝你好運!