모던과 클래식 엑셀 읽기가 너무 느림니다. (버그)

안녕하세요 RPA 엔지니어 입니다.

현재 Excel 의 데이터를 DT 로 읽어 올때 너무 느린 현상을 발견하였습니다.
해당 문제는 모던에서만 발생하며 엑셀의 기준은 20만 셀 이상입니다.

클래식 Read Range 사용 시 20초 안에 데이터를 읽어오지만 모던 Read Range 를 사용하면 15분 ~ 20분 정도 소요 됩니다.

모던에서도 Workbook 방식의 액티비티는 빠르나 엑셀 프로세스 스코프를 사용하여 작동 시 아주 많은 시간이 걸림니다.

-버전 정보 -
“main”: “Main.xaml”,
“dependencies”: {
“UiPath.Excel.Activities”: “[2.12.3]”,
“UiPath.Mail.Activities”: “[1.12.2]”,
“UiPath.System.Activities”: “[21.10.2]”,
“UiPath.UIAutomation.Activities”: “[21.10.3]”
},

-PC 정보 -
intel I7
RAM 32G

Hey @_H1 ,

Just wanted to check what you are referring to when mentioning the classic versus modern mode. The workbook activities are expected to perform in the same way between the two modes, are you seeing differences between the two?

We are expecting some differences in performance between the workbook activities and the scoped ones as we are handling the data differently. How large is the table / sheet for it to take 15-20 minutes? And would it be possible to share a sample file with us where you are repro-ing this?

Thanks,
Raluca

안녕하세요
샘플 파일은 공유를 하고싶지만 보안 이슈로 공유가 어렵습니다.
엑셀의 시트의 수는 1개 입니다.
시트 1개의 데이터는 20만 셀 입니다.

사양이 같은 PC 2대로 확인 결과 같은 증상을 보였습니다.
PC1 : 클래식 read range 사용 결과 읽기 빠름 , 모던 read range 사용 결과 읽기 느림
PC2 : 클래식 read range 사용 결과 읽기 빠름 , 모던 read range 사용 결과 읽기 느림

Write Range 는 클래식 모던 모두 빠른 결과를 가져왔습니다.

감사합니다.

Thank you for more context. Any chance you could share a sample text schema of the file that you are using? (to add to the 200000 rows)

  • number of columns
  • are there many formulas, or is it just raw data
  • do some of the columns have long strings
  • any other things that might be “special” about your file

In other words - if you create a dummy Excel file with the same amount of columns and you fill it with 200000 rows of dummy data (short strings/small numbers), do you see the same results in slow reading?

텍스트를 공유하고 싶지만 보안상으로 공유가 불가능합니다.

  1. 열의 수는 A ~ W 열 입니다.
  2. 대부분 원시 데이터이며 2개의 열이 공식이 작성되어있습니다.
  3. 문자열의 길이는 50자 내외 입니다.
  4. 기타 사항 : 일부 문자열에 " " 가 표현되어있습니다. 또는 , 도 존재합니다.

재일 특이한 점은 이러한 현상은 랜덤이라는 점입니다.
또는 데이터를 복사 후 엑셀의 행을 전부 삭제하고 데이터를 붙여서 저장하면 읽기 속도가 정상적으로 돌아오지만 시간이 지나면 다시 느려지는 현상이 있습니다.

감사합니다.

Hey @_H1 ,

We’re expecting to see some differences between the two as the Classic Excel is actually handling the data in the file without opening it. That’s why you can use the activities without having Excel installed locally on your machine. What magnitude of the difference are you seeing between the two modes?

Thanks,
Raluca

안녕하세요
두 모드 간의 간격은 많이 차이가 나고 있습니다.
Classic 의 경우 1~ 10초 가 걸리며 Modern 의 경우 20분 정도 소요 되고 있습니다.

해당 문제의 원인을 발견했습니다. 다만 정확한 원인은 파악하지 못했습니다.

해당 작업의 프로세스 순서부터 설명 드리겠습니다.

Temp 파일을 만들고 RPA 실행 시 Temp 파일을 복사하여 Result.xlax 파일을 생성합니다.

Result.xlsx 파일에서 데이터 쓰기 작업 후 해당 파일을 읽기를 시작 했을 때 문제가 발생합니다.

이 문제는 간헐적으로 발생하고 있습니다.

원인은 엑셀의 빈값에 있는것 같습니다. 시트의 데이터가 10000 행이 존재한다고 했을 때 해당 데이터 아래의 빈 값을 "행 삭제"를 한 후 데이터를 저장하면 읽기 속도가 빨라지는 것을 확인하였습니다.

행 삭제를 하지 않고 읽었을 때 약 20분 정도 소요되고 빈 값이지만 데이터가 존재하여 오래 걸린다는 가설을 세웠지만 DT의 결과를 보면 10000행 만 존재하였습니다.

현재는 값이 비여있는 행을 전부 삭제하여 처리하고 있습니다.
감사합니다.

Hey @loginerror ,

Would it be possible to share the sample workflow and the sample file for us to investigate this?

Many thanks,
Raluca

This topic was automatically closed after 4 days. New replies are no longer allowed.