안녕하세요 여러분,
JMP로로드하고 Excel 통합 문서의 파일 이름을 기반으로 각 테이블의 이름을 변경해야하는 SharePoint에 여러 Excel o365 통합 문서가 저장되어 있습니다.
도움이 될 JMP 커뮤니티의 코드 스 니펫을 찾았습니다. 감사합니다!
스크립트 :
- 파일 이름과 SharePoint 경로를 하드 코딩
- SharePoint 사이트를 엽니 다.
- 엑셀 파일을 찾습니다
- Excel 파일 열기 / 가져 오기
그러나 두 가지 문제가 있습니다.JMP 테이블 이름은 이름이 바뀌지 않으며 스크립트를 사용하여 닫고 싶다는 모달 팝업 창이 있습니다.
SharePoint에 업로드 할 수있는 Excel 통합 문서 형식의 Big Class 데이터를 첨부하고 있습니다.스크립트도 첨부되어 있습니다.하드 코딩 된 경로 및 파일 이름을 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 ++, // 통합 문서를 엑셀 경로에 대한 루프
웹 (경로 [i], JMP 창);
For (i = 1, i <= N Items (file), i ++, // Excel 파일 루프
dt = 열기 (
파일 [i],
워크 시트 ( "Big Class"),
모든 시트에 사용 (1),
워크 시트 연결 (0),
연결 열 만들기 (0),
워크 시트 설정 (
1,
열 헤더 있음 (1),
헤더의 행 수 (1),
헤더는 행 (1)에서 시작합니다.
데이터 시작 행 (2),
열 (1)에서 데이터 시작,
데이터 끝 행 (0),
데이터는 열 (0)에서 끝납니다.
복제 된 스팬 행 (1),
복제 된 스팬 헤더 (0),
숨겨진 행 억제 (1),
숨겨진 열 억제 (1),
빈 열 억제 (1),
계층 구조 (0)로 취급,
다중 시리즈 스택 (0),
셀 색상 가져 오기 (0),
열 감지 제한 (0),
열 구분 문자열 ( "-"),
),
"보이지 않음",
);
Window ( "웹 브라우저") << 창 닫기; // JMP 웹 창을 닫습니다.
);
name = { "Big Class", "Big Class 2000"}; // 테이블 이름 변경 이것은 작동하지 않습니다
For (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>