嗨,大家好,
我在SharePoint中存儲了幾個Excel o365工作簿,我需要將這些工作簿加載到JMP並根據excel工作簿的文件名重命名每個表。
我從JMP社區找到了代碼片段來幫助我,謝謝大家!!
劇本:
- 硬編碼文件名和SharePoint路徑
- 打開SharePoint網站
- 找到excel文件
- 打開/導入Excel文件
但是,有2個問題。JMP表名稱未重命名,並且有模式彈出窗口顯示我想使用腳本關閉的窗口。
我附加了格式化為Excel工作簿的Big Class數據,您可以將其上傳到SharePoint。該腳本也已附加。確保將硬編碼的路徑和文件名更改為SharePoint網站。
謝謝!
腳本:
// SharePoint路徑,從SharePoint複製鏈接,然後刪除“?”之後的所有內容
路徑= {“ https:// <<您的網站>> /Big%20Class.xlsx?“,
“ https:// <<您的網站>> /Big%20Class_2000.xlsx?“};
// SharePoint文件,從SharePoint複製鏈接,然後刪除“?”之後的所有內容並添加“ download = 1”
文件= {“ https:// <<您的網站>> /Big%20Class.xlsx?download=1“,
“ https:// <<您的網站>> /Big%20Class_2000.xlsx?download=1“};
批量互動(1);
For(i = 1,i <= N Items(path),i ++,//循環到excel工作簿的路徑
Web(path [i],JMP window);
For(i = 1,i <= N Items(file),i ++,//為Excel文件循環
dt =打開(
文件[i],
工作表(“大類”),
用於所有紙張(1),
連接工作表(0),
創建串聯列(0),
工作表設置(
1,
有列標題(1),
標頭中的行數(1),
標頭從行(1)開始,
數據從第(2)行開始,
數據從列(1)開始,
數據在第0行結束
列(0)上的數據結尾
複製的跨行(1),
複製的跨度標題(0),
禁止隱藏行(1),
禁止隱藏列(1),
禁止空列(1),
視為層次結構(0),
多系列堆棧(0),
導入單元格顏色(0),
極限列檢測(0),
列分隔符字符串(“-”),
),
“無形”,
);
Window(“ Web Browser”)<<關閉窗口; //關閉JMP Web窗口
);
名稱= {“大類”,“ 2000大類”}; //更改表名這不起作用
對於(i = 1,i <= N Items(name),i ++,
dt <<設置名稱(name [i])
);
批量互動(0);
);
看起來您正在將所有表分配給相同的變量dt。該變量一次只能保存對單個表的引用。相反,您可以使dt成為列表,然後讓它存儲對所有數據表的引用。這可能看起來像(未經測試)。
//SharePoint path, copy link from SharePoint then delete everything after "?"
path = {"https://<<YOUR site="">>/Big%20Class.xlsx?", "https://<<YOUR site="">>/Big%20Class_2000.xlsx?"};
//SharePoint file, copy link from SharePoint then delete everything after "?" and add "download=1"
file = {"https://<<YOUR site="">>/Big%20Class.xlsx?download=1",
"https://<<YOUR site="">>/Big%20Class_2000.xlsx?download=1"};
Batch Interactive( 1 );
//Make an empty list to store references to all data tables
dt = list();
For( i = 1, i <= N Items( path ), i++, //loop for paths to excel workbooks
Web( path[i], JMP window );
For( i = 1, i <= N Items( file ), i++, //loop for excel files
dt[i] = Open(
file[i],
Worksheets( "Big Class" ),
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( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" ),
),
"Invisible",
);
Window( "Web Browser" ) << close window; //closes the JMP web window
);
name = {"Big Class", "Big Class 2000"}; //change table names THIS IS NOT WORKING
For( i = 1, i <= N Items( name ), i++,
dt[i] << Set Name( name[i] )
);
Batch Interactive( 0 );
);
</YOUR></YOUR></YOUR></YOUR>