如何從 Sharepoint 上的 Excel 檔案中提取資料?大家好,
我有一個腳本設定來開啟 Excel 檔案、提取所需資料、運行一些分析、將分析儲存為互動式 HTML(供非 JMP 使用者存取),然後關閉 JMP。 這一切在我的試播腳本中都運作良好,並且作為非編碼員我特別高興能夠弄清楚這一切。 現在的挑戰是這必須在兩家完全獨立的公司之間進行。 兩家公司都可以透過 Sharepoint 存取通用的 Excel 檔案。 我已獲準存取 Sharepoint 上的檔案。 經過多次「混亂」並找到 Web() 函數後,我現在能夠在 Sharepoint 上開啟 Excel 檔案。但是,我無法將資料從 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( "-" )
)
);
資料存取品質和工藝工程分享和交流成果回覆:如何從 Sharepoint 上的 Excel 檔案中提取資料?@ih它還活著! 它將資料從 Sharepoint 提取到資料表中。 非常感謝您引導我找到這個解決方案。 我在社群貼文中搜尋了與 Sharepoint 相關的查詢,但沒有搜尋 Office 365。 @哈德納感謝您建議添加時間延遲以允許憑證握手。 讓一切變得不同,讓我很開心!
當我(可能)在儲存到 Sharepoint 時遇到問題時,我會回來的! 
回覆:如何從 Sharepoint 上的 Excel 檔案中提取資料?這確實是我正在使用的解決方案...
open() 本身將使用一些快取的憑證,但我不確定這些憑證會持續多久。
對我來說,新增的初始 web() 是一個不錯的解決方案,因為我用它來打開我自己的內部「company.sharepoint」位置我們的內部 SSO 致力於此! 我在 web() 之後等待了很長時間(15 秒),如果它沒有立即使用快取的憑證打開,它仍然可以透過使用我的憑證進行內部登入來工作,而無需任何互動。透過這種方式,我有各種腳本按排程作業運行,它們似乎能夠可靠地從共享點開啟我們的內部 Excel 工作表。
回覆:如何從 Sharepoint 上的 Excel 檔案中提取資料?查看這篇文章,我*認為*您會遇到同樣的問題。當時我不認為有一個完美或完全自動化的解決方案,但也許@哈德納從那時起發現了什麼?
從 JMP/JSL 開啟 Microsoft Office 365 雲端的 Excel?
簡而言之,先開啟 Web 瀏覽器視窗進行身份驗證,然後開啟檔案。
取得網址:
- 在 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( "-" )
)
);