嗨,大家好,
我在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>