Power Apps 에서 원하는 데이터를 Excel로 내보내고 Excel 파일을 수정하고 업로드 하면 자동 업데이트가 되었으면 한다.
Youtube 동영상으로 내용 정리해 봤습니다.
[결과 화면] - 엑셀 파일 생성, 테이블 생성, 테이블에 값 추가 후 링크 생성하여 파일 자동 열림
이번 자료는 아래 Excel 파일 내보내기에 대한 설명을 한다.
Excel 파일 내보내기
1. Power Apps 에서 원하는 데이터 추출
2. 추출된 값을 collection으로 만들기 및 JSON 형식으로 저장
3. Power Automate에 값 보내기
4. 템플릿 파일을 이용하여 Excel 파일 만들기
5. Power Automate에 Excel 만들기 및 테이블 생성 파일 링크 생성
6. Excel 파일 Online으로 열기
다음 자료에 내용으로 위에서 내보낸 파일을 수정하여 업데이트 하여 반영하는 내용
Excel 파일 업데이트
ID가 없으면 (New), ID가 같으나 내용이 수정되었으면 (Update), ID가 Excelrhk SharePoint Lists와 같지 않으면 (Delete)
1. 위에서 생성된 Excel 파일을 수정 한다.
2. 업로드 버튼을 눌러 업데이트 한다.
3. SharePoint List를 새로 고침으로 다시 불러온다.
Power Apps 구성 화면
Excel 파일 내보내기
1. Power Apps 에서 원하는 데이터 추출
// OrderNo로 정렬
Sort(
// 검색 조건은 원하는 형태로 변경 가능
// 데모를 위해 OrderNo를 입력하여 검색
// Fiter 조건으로 입력된 값이 OrderNo와
// 같거나 그 이상인 값만 나타내기
Filter(
Jobtitle,
OrderNo >= Coalesce(Value(txtSearchInput.Text)
,10)
)
,OrderNo)
|
2. 추출된 값을 collection으로 만들기 및 JSON 형식으로 저장
// Collection 지우기
Clear(colJobtitle);
// colJobtitle에 Gallery의 값을 넣기
ForAll(
gal_Jobtitle.AllItems As GetItems,
Collect(colJobtitle,{ID:GetItems.ID,Title:GetItems.Title,OrderNo:Text(GetItems.OrderNo)})
);
// Power Automate에서값을 처리하기 위해 JSON 형식으로 저장
Set(varJSON,JSON(colJobtitle));
|
3. Power Automate에 값 보내기
Power Automate에 JSON값을 보내고 결과를 varExcelResult로 받는다.
Set(varExcelResult,'Dev-JobtitleDataToExcel'.Run(varJSON)); |
UpdateContext({varSpinner:true});
// Collection 지우기
Clear(colJobtitle);
// colJobtitle에 Gallery의 값을 넣기
ForAll(
gal_Jobtitle.AllItems As GetItems,
Collect(colJobtitle,{ID:GetItems.ID,Title:GetItems.Title,OrderNo:Text(GetItems.OrderNo)})
);
// Power Automate에서값을 처리하기 위해 JSON 형식으로 저장
Set(varJSON,JSON(colJobtitle));
Set(varExcelResult,'Dev-JobtitleDataToExcel'.Run(varJSON));
// Download Link를 변수로
Set(downloadURL,varExcelResult.url);
//Set(downloadURL,'Dev-JobtitleDataToExcel'.Run(varJSON).url);
// 다운로드 받은 파일 실행
Launch(downloadURL);
Set(excelPath,varExcelResult.path);
UpdateContext({varSpinner:false});
|
4. 템플릿 파일을 이용하여 Excel 파일 만들기
SharePoint에 Excel 템플릿 파일을 만들어 원하는 형태의 Excel 파일을 만들고 Table을 추가하는 방식으로 만든다.
5. Power Automate에 Excel 만들기 및 테이블 생성 파일 링크 생성
단계별 가이드
1) Power Automate 만들기
2) 텍스트 추가
입력 추가로 텍스트 추가
3) JSON 구문 추가
Power Apps 에서 만든 JSON 결과를 활용
JSON 결과를 복사한다.
[{"ID":79,"OrderNo":"12","Title":"전무"},{"ID":80,"OrderNo":"13","Title":"이사"},{"ID":81,"OrderNo":"14","Title":"부장"},{"ID":55,"OrderNo":"15","Title":"사원"}] |
작업 추가 - 기본 제공 - JSON 구문 분석
동적 값 추가하여 Power Apps 에서 받은 JSON 데이터를 가져온다.
샘플에서 생성 - JSON 결과를 복사한 값을 붙여 놓는다.
스키마가 자동으로 생성
4) Power Apps 에서 가져온 데이터를 JSON 구문에 추가 한다.
작업 추가 - 기본 제공 - 선택
동적 값 - JSON 구문 분석 - 본문 - body('JSON_구문_분석')
원하는 이름을 만들고 그 이름에 값을 선택한다.
5) Excel 파일 콘텐츠 가져오기
작업 추가 - 표준 - SharePoint - 경로를 사용하여 파일 콘텐츠 가져오기
파일 경로는 아래에서 지정하여 가져올 수 있다.
6) 파일 만들기
작업 추가 - 표준 - SharePoint - 파일 만들기
파일 이름은 수식을 이용하여 아래 한국시간을 기준으로 만든다.
중복 값을 피하기 위해 초단위까지 만들면 중복 파일을 피할 수 있다.
convertFromUtc(utcNow(),'Korea Standard Time','yyyy-MM-dd hh:mm:ss')
|
7) 테이블 만들기
파일 만들기의 경로를 가져온다.
테이블 영역은 Excel 영역의 실제 위치를 지정
테이블 이름 선택
열 이름은 4) 선택에서 지정한 이름과 동일하게 구성한다.
8) 테이블에 행 추가
선택에서 가져온 행의 수 만큼 반복 적용한다.
작업 추가 - 모두 - 컨트롤 - 반복 적용
9) 파일 또는 폴더에 대한 공유 링크 만들기
파일 만들기에서 만든 ItemId를 가져와서 링크를 만든다.
10) Respond to a Power App or flow
공유 링크와 파일의 경로를 가져와서 url 과 path 변수에 넣어 Power Apps에 반환한다.
6. Excel 파일 Online으로 열기
위의 [3. Power Automate에 값 보내기]에서 실행할 때 내용으로
Set(downloadURL,varExcelResult.url); 하여 url 값을 가져와서
Launch(downloadURL); 로 파일을 실행 한다.
Set(varExcelResult,'Dev-JobtitleDataToExcel'.Run(varJSON));
// Download Link를 변수로
Set(downloadURL,varExcelResult.url);
//Set(downloadURL,'Dev-JobtitleDataToExcel'.Run(varJSON).url);
// 다운로드 받은 파일 실행
Launch(downloadURL);
Set(excelPath,varExcelResult.path);
|
자동으로 파일이 실행되어 아래와 같이 테이블이 만들어 지는 것을 알 수 있다.
단 파일을 테이블 업데이트에 대략 1 ~ 2분 정도 시간이 소요 됨으로 기다리면 자동으로 완성되는 것을 알 수 있다.
댓글