본문 바로가기
카테고리 없음

Excel 파일 내보내기 및 업데이트 2 - SharePoint 업데이트

by 이완주 2024. 12. 23.
 

Excel 파일 내보내기 및 업데이트 1 - 파일 내보내기

Power Apps 에서 원하는 데이터를 Excel로 내보내고 Excel 파일을 수정하고 업로드 하면 자동 업데이트가 되었으면 한다. [결과 화면] - 엑셀 파일 생성, 테이블 생성, 테이블에 값 추가 후 링크 생성하

leemcse.tistory.com

 

위의 내용에 이어서 작성함으로 위의 자료를 보신 후 이번 자료를 보시는 것을 추천 드립니다.


Excel 파일 내보내기 - [6. Excel 파일 Online으로 열기]에서 열어 놓은 Excel 파일을 수정하여 아래 버튼을 누루면 자동으로 SharePoint에 값을 업데이트 된다.

 

저번 자료는 아래 Excel 파일 내보내기에 대한 설명을 한다.

Excel 파일 내보내기

1. Power Apps 에서 원하는 데이터 추출

2. 추출된 값을 collection으로 만들기 및 JSON 형식으로 저장

3. Power Automate에 값 보내기 

4. 템플릿 파일을 이용하여 Excel 파일 만들기 

5. Power Automate에 Excel 만들기 및 테이블 생성 파일 링크 생성

6. Excel 파일 Online으로 열기

 

이번 자료에 내용으로 위에서 내보낸 파일을 수정하여 업데이트 하여 반영하는 내용

Excel 파일 업데이트

1. 위에서 생성된 Excel 파일을 수정 한다.

2. 업로드 버튼을 눌러 업데이트 한다.

3. SharePoint List를 새로 고침으로 다시 불러온다.

 

1. 위에서 생성된 Excel 파일을 수정 한다.

Excel 파일을 수정한다.

 

아래 값에 업데이트 진행을 위한 수정 내용

ID가 없으면 (New), ID가 같으나 내용이 수정되었으면 (Update), ID가 Excelrhk SharePoint Lists와 같지 않으면 (Delete)

전부1 삭제, 사원2 -> 사원으로 수정, OrderNo 15에서 16으로 수정, 대리 추가

 

변경 전 Excel 데이터 수정 변경 후

 

 

2. 업로드 버튼을 눌러 업데이트 한다.

Excel 파일의 경로를 PowerAutomate에 보내어 해당 Excel 파일을 업데이트 하게 한다.

'Dev-ExcelToSharePointModify'.Run(excelPath);

 

Power Automate 단계별 가이드 - 내용이 길어 중복되는 부분은 생략하고 핵심만 설명 함.

해당 내용에 대한 이해가 안되시는 분은 참고자료에 제가 따라한 동영상이 있으니 참고하시면 도움이 될 듯 합니다.

 

1) Power Apps에서 경로를 받아 설정

 

2) 테이블에 있는 행 나열

 

3) 변수 초기화 - ExcelID

Excel의 ID와 SharePoint의 ID를 비교하기 위해 변수 초기화 설정

 

 

4) Excel 테이블의 값을 ID를 배열에 추가하기 위해 아래와 같이 작업

 

5) SharePoint 항목 가져오기

SharePoint값을 필터 없이 가져오면 위임 경고가 나타나며 값을 가져올 수 없게 된다.

이를 해결하기 위해서는 최대 개수와 함께 페이지 매김 설정을 해 주어야 한다.

 

6) 변수 초기화 - SharePoint ID

 

7) SharePoint의 값을 ID를 배열에 추가하기 위해 아래와 같이 작업

 

8) 두개의 배열 변수를 비교하여 동일한 ID 값 추출 하기

intersection(variables('SharePointID'),variables('ExcelID'))

 

9) ID가 같지 않은 값은 삭제

variables('IntersectionArray') 포함 body('JSON_구문_분석_-_Delete_Items')

 

 

 

10) 항목 업데이트, 새로 만들기

Excel 항목 만큼 반복 수행

 

조건 2 - ID 모두 있는 경우 업데이트 대상임. 

여기서는 수정된 항목만 업데이트 하지 않고 ID가 같으면 모두 업데이트 진행.

반복 수행으로 Excel의 항목과 SharePoint 항목이 같은 값인지 확인

length(body('항목_가져오기(2개_이상)_-_ID')?['value']) 다음과 같지 않음 0

 

같은 값이면 업데이트 - SharePoint 항목 수 만큼 반복

Items('각각에_적용_-_업데이트')?['ID']
items('각각에_적용_-_동일한_ID_값_가져오기')?['직위']
items('각각에_적용_-_동일한_ID_값_가져오기')?['순위']

 

위의 조건을 변경하여 변경 값이 있는 경우만 변경으로 수정 함.

모든 행을 검색하는 시간과 모든 행을 업데이트하는데 걸리는 시간이 비슷 할 수 있어 두가지 조건에 대한 테스트 후 사용 할 것을 권장.

 

 

조건 3 - ID값 비어 있는지 확인

ID가 같지 않고 ID가 비어 있으면 항목 만들기 진행

length(items('각각에_적용_-_동일한_ID_값_가져오기')?['ID'])

 

항목 만들기

items('각각에_적용_-_동일한_ID_값_가져오기')?['직위']
items('각각에_적용_-_동일한_ID_값_가져오기')?['순위']

 

아래 전체 업데이트 전체 구성

 

 

3. SharePoint List를 새로 고침으로 다시 불러온다.

업데이트 되는데 다소 시간이 걸려서 약간의 시간이 지난 후 새로 고침을 하면 업데이트 되는 것을 알 수 있다.

// SharePoint 항목을 새로 고침 - 업데이트 반영
Refresh(Jobtitle);

// collection 값 초기화
Clear(colJobtitle);

// 검색 값 초기화
Reset(txtSearchInput);

 

 

 

 

Excel 파일 내보내기 및 업데이트 3 - SharePoint 파일 삭제

작업을 반복적으로 하다보면 아래와 같이 파일이 계속 만들어지게 된다.이를 작업이 끝난 후 삭제를 하여 불필요한 파일을 삭제 해야 한다. 파일 삭제는 아래와 같이 간단하게 할 수 있습니다.

leemcse.tistory.com

 

 

[참고자료]

위의 내용은 아래 2개의 Youtube를 거의 배끼다 시피하여 만들었습니다.

아래 두분에게 저의 고민을 해결할 수 있게 도움이 되어 감사의 말씀을 드리고 싶네요.

아래 동영상을 보시면 보다 이해가 쉬울 것이라 판단되어집니다.

 

https://www.youtube.com/watch?v=eDOwoPG9ua8

 

https://www.youtube.com/watch?v=nlw5_qV8pIo&t=1151s

 

댓글