如何從 Sharepoint 上的 Excel 文件中提取數據?大家好,
我有一個腳本設置來打開一個 Excel 文件,提取所需的數據,運行一些分析,將分析保存為交互式 HTML(供非 JMP 用戶訪問),然後關閉 JMP。 在我的試播腳本中一切正常,並且作為非編碼員我特別高興能弄清楚這一切。 現在的挑戰是,這必須在兩家完全獨立的公司之間運作。 兩家公司都可以通過 Sharepoint 訪問一個通用的 Excel 文件。 我已獲准訪問 Sharepoint 上的文件。 經過多次“搞砸”然後找到 Web() 函數,我現在可以讓 Excel 文件在 Sharepoint 上打開。但是,我無法將數據從 Excel 提取到 JMP 以進行後續分析
在我的原始腳本中,我只是使用 Open() 將 Excel 內容加載到數據表中。 現在我盯著 Sharepoint 中的 Excel 頁面,我被卡住了。 在這一點上,我看不到樹木的樹木。 對此的任何意見都值得讚賞。 如果您有任何 JSL 輸入,請確保其清晰易讀10 7歲。 這是我堅持的一點:
Names Default To Here( 1 );
Web( "https://company.sharepoint.com/folders/file.xlsx);
dt = Open(
“Am I missing something here? Sharepoint is showing the Excel file, but it's not really OPEN as such”
Worksheets( "Whole Milk" ),
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( 3 ),
Data Starts on Row( 4 ),
Data Starts on Column( 2 ),
Data Ends on Row( 0 ),
Data Ends on Column( 24 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
腳本Re: 如何從 Sharepoint 上的 Excel 文件中提取數據?@ih它還活著! 它將數據從 Sharepoint 提取到數據表中。 非常感謝您指導我使用此解決方案。 我在社區帖子中搜索了與 Sharepoint 相關的查詢,但沒有搜索 Office 365。 @hardner感謝您建議添加時間延遲以允許憑證握手。 讓一切變得不同,讓我開心!
當我(可能)有問題保存到 Sharepoint 時,我會回來的! 
Re: 如何從 Sharepoint 上的 Excel 文件中提取數據?這確實是我正在使用的解決方案......
open() 本身將使用一些緩存的憑據,但我不確定它們會持續多久。
對我來說,添加的初始 web() 是一個好的解決方案,因為我用它來打開我自己的內部“company.sharepoint”位置我們的內部 SSO 就在這方面工作! 我在 web() 之後放置了一個很大的(15 秒)等待,如果它沒有立即使用緩存的憑據打開,它仍然可以通過使用我的憑據進行內部登錄而不進行任何交互來工作。通過這種方式,我有各種腳本作為計劃作業運行,它們似乎能夠可靠地從 sharepoint 打開我們的內部 excel 工作表。
Re: 如何從 Sharepoint 上的 Excel 文件中提取數據?看看這篇文章,我*認為*你會遇到同樣的問題。當時我認為沒有完美或完全自動化的解決方案,但也許@hardner從那以後發現了什麼?
從 JMP/JSL 打開 microsoft office 365 基於雲的 excel?
簡而言之,首先打開 Web 瀏覽器窗口進行身份驗證,然後打開文件。
要獲取 URL:
- 在 office 365/sharepoint/teams/etc 中,獲取文件的鏈接(通常在 Web 瀏覽器中打開文件)
- 刪除之後的所有內容?在鏈接中並將其替換為 download=1
- 在本地保存文件副本並使用您的首選設置在 JMP 中打開它,然後打開並複制保存到該數據表的“源”腳本。
- 將文件位置替換為您剛剛修改的 url。
您的腳本看起來像這樣:
//Authenticate - this caches credentials for a while but not forever, would replace this with your sharepoint URL.
Web( "https://teams.microsoft.com", JMP window );
//once authenticated then open the file
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( "-" )
)
);