느린 Excel 스프레드 시트를 진단 하시겠습니까?


13

고객이 연락을 취하는데 너무 오래 걸리는 Excel 스프레드 시트에 대해 불평했습니다. 그들은 송장을 만들기 위해 Excel을 사용하므로 간단한 서식과 간단한 계산이 가능한 수백 개의 Excel 스프레드 시트가 있습니다. 스프레드 시트를 크기별로 정렬 할 때 대부분의 스프레드 시트 범위는 10-250k이지만 파일 크기가 2-3MB 이상인 소수의 스프레드 시트가 있음을 알았습니다. 이상하게도 파일 크기 가 크지 않고 많은 데이터를 보유하지 않고 약간의 서식을 지정하지 않았으며 2 ~ 3 페이지의 인보이스가 인쇄되었지만 크기가 작은 (및 일반적인 오프닝) 스프레드 시트와 거의 동일한 데이터 크기 .

파일을 열 때 필요한 RAM의 양은 3MB에서 400MB로 급증하며 시작하는 동안 단일 코어 (사무실의 듀얼 코어 및 내 쿼드 코어 랩톱에서 테스트)를 완전히 차지합니다. 나는 그들이 VBA 코드를 어떻게 든 잡았다 고 생각했지만 매크로, VBA 코드는 없습니다. Ctrl + End는 39 개의 행과 약 12 ​​개의 열을 표시합니다 (M에서 끝남). 남아있는 데이터가 없어 질 때까지 데이터를 행 단위로 또는 열 단위로 삭제했는데 여전히 동일한 문제가 발생합니다.

Google 검색을 많이 검토했지만 아무데도 없었습니다. 누구든지 도움을 줄 수 있습니까?


또 다른 흥미로운 참고 사항 : Excel 2007에서는 xlsx 파일을 xls 파일로 저장할 수 없지만 Google 문서로 가져 와서 xls 파일로 저장하면 정상적인 크기의 파일이 다시 나타납니다.
Simon Hova

답변:


7

내 문제에 대한 답을 찾았습니다!

allquixotic가 나에게 준 단서를 사용하여 7-Zip에서 xlsx 파일을 열고 파일 크기를 비교했습니다. 다른 파일 보다 훨씬 큰 파일이있었습니다 . xl \ drawings \ drawing1.xml 파일은 여러 번 형식에 대한 여러 참조를 포함하는 파일입니다.

패턴을 알아 내려고 몇 시간을 보냈지 만 할 수 없었습니다. 내가 할 수있는 일은 아무것도 작동하지 않습니다! 그런 다음 악화 된 후 방금 파일을 삭제하고 Excel에서 다시 열려고했습니다 (2010- Excel 2007에서는 테스트하지 않았습니다).

파일이 손상되었다고 불평하고 수리를 시도 할 것인지 묻습니다. 파일을 복구하면 모양이 지워지지 만 파일의 형식은 전혀 변경되지 않았습니다. 파일을 동일한 파일로 다시 저장해야했지만 조금 이상했습니다.

앞에서 언급했듯이 Excel 2010 이외의 다른 제품에 대해서는이 솔루션을 테스트하지 않았으므로 모양 파일이 Excel 2k7 또는 OpenOffice 제품에 중요한지 알 수 없습니다. 그러나 비슷한 문제가 있다면 도움이 될 수 있기를 바랍니다.


나는 같은 문제를 가진 파일을 만났다. drawing1.xml을 삭제하는 대신 sheet1.xml에서 도면에 대한 참조를 제거하고 "다른 이름으로 저장"을 수행했습니다. 메일, 인터넷 또는 기타 스프레드 시트에서 데이터 또는 형식화 된 문자열을 복사하는 것이 원인 일 수 있습니다.
Andrei

1
비슷한 상황이 발생했습니다. 필자의 경우 크기가 "허용 가능한"200KB ~ 80MB 범위의 여러 drawingN.xml이 있습니다. 이 파일은 16GB RAM이 장착 된 쿼드 코어 데스크톱을 지원합니다. Excel 파일에 차트 / 그래픽이 포함되어 있지 않기 때문에 모든 drawingN.xml을 제거하면 문제가 해결 되며이 시점의 최신 Office 365에서 작동합니다.
Martheen Cahya Paulo

6

이진 .xls 형식 또는 새로운 XML 기반 .xlsx 형식을 사용하고 있습니까? 일반적으로 .xlsx 형식은 파일 크기를 크게 줄입니다.

문서에 너무 많은 수의 스타일이 저장되어 있는지 확인하십시오.

"개인 정보 제거"(Excel / Word 등의 기능)를 사용하여 파일에있을 수있는 특정 종류의 크래프트를 정리하십시오.

스프레드 시트가 공유되었거나 이전에 공유 된 경우 스프레드 시트에 이전 공유 데이터가 저장되어있을 수 있습니다.

간단한 수정 방법 중 하나는 해당 스프레드 시트의 관련 데이터 만 복사하여 새 스프레드 시트에 붙여 넣은 다음 .xlsx 형식으로 저장하여 크기를 줄이는 것입니다. 매우 작은 경우 대답이 있습니다. Excel은 내부 파일 형식의 데이터 구조를 제대로 설명하지 않습니다.

또한 복잡한 수식이나 순환 수식 및 외부 시트 (특히 네트워크 드라이브의 시트)에 대한 참조를 확인하십시오. 수식이 느리다고 생각되면 수식 감사 도구를 사용하여 단계별로 살펴볼 수 있습니다.

마지막으로 : .xlsx로 저장했는데 여전히 큰 경우 OpenXML SDK 생산성 도구 ( http://www.microsoft.com/en-us/download/details.aspx?id=5124)를 다운로드 하십시오.

그 안에 .xlsx를 열고 파일 내의 모든 요소를 ​​살펴보고 명백한 것이 없는지 확인하십시오. 이를 위해서는 XML 및 특정 OpenXML 스키마에 대한 지식이 필요할 수 있지만 팽창의 원인을 파악할 수있는 확실한 방법입니다.

추신-이런 종류의 일로 인해 성가신 경우 Microsoft 형식 / 프로그램 사용을 중지하거나 고객에게 제안하십시오. "Microsoft Access 데이터베이스 팽창"에 대해 Google을 둘러 보면 Microsoft가 독점 형식으로 인해 쓸모없는 데이터가 디스크에 유출되지 않는 오랜 역사를 가지고 있음을 알 수 있습니다. RAM 대신 디스크를 먹는 정말 심한 메모리 누수와 같습니다.


스프레드 시트는 실제로 xlsx이며 한 가지 이상한 점이 있습니다. .xls 파일로 저장할 수 없습니다. Excel 2k7에서 계속 오류를 반환합니다. 필자는 2003 xml 스프레드 시트로 사본을 저장했으며 발견 한 이상한 점은 엄청난 수의 스타일이 나열되어 있다는 것입니다 . 스프레드 시트 전체가 동일한 글꼴을 사용하고 특별한 서식을 사용하지 않기 때문에 이상합니다. 여전히 내 고객에게 무엇을 말해야할지 모르겠습니다.
Simon Hova

2

또 다른 가능한 해결책은 다음과 같습니다.

  1. 문제가있는 Excel 파일의 복사본 만들기
  2. 그 사본을여십시오
  3. CTRL + A를 누르고 "Clear"-> "Clear Formats"를 클릭하십시오.
  4. 모든 워크 시트에서 3 단계를 반복하십시오.
  5. 파일을 저장하고 다시 열어보십시오

서식이 너무 많을 때, 특히 많은 개별 셀에 다양한 스타일이 적용되는 경우 Excel은 파일을 열 때 서식을 적용하려고 시도하는 데 어려움을 겪습니다.

당연히 모든 서식을 제거하면 테두리, 음영 등이 사라진 모든 셀에 기본 스타일이 적용된 텍스트 만 표시됩니다. 그러나이 방법으로 문제의 원인을 정확히 찾을 수 있습니다.


0

크기를 크게 줄이려면 .xlsb 형식을 사용하십시오. Excel에서 제공하는 다른 XML 기반 형식보다 더 많이 줄여야합니다.

스프레드 시트 중 하나를 열고 형식을 살펴보십시오. 평소와 다른 것을 찾으십시오. 전체 열을 다른 Excel 스프레드 시트로 복사하고 값을 붙여 넣기 만하면됩니다 (서식을 지정하지 않아도 됨). 도움이되는지 확인하십시오.


xlsb로 저장을 시도했습니다. 전혀 크기 축소가 없습니다. 스크린 샷 .
Simon Hova

@Simon Hova 계산을 수동으로 설정하고 Excel을 다시 시작하려고 했습니까? 수식, 서식 등 무엇이든 될 수 있습니다. 성능이 동일한 지 확인하기 위해 데이터 열을 다른 Excel 스프레드 시트로 복사 했습니까? 데이터 만; 수식이나 서식이 없습니다. 한 번에 하나씩 추가하고 문제가있는 위치를 확인하십시오.
TwirlMandarin

그것은 또 다른 이상한 일입니다. 계산 없으며, 실행중인 수식이 없습니다. 약간의 서식이있는 몇 개의 행과 열입니다. 데이터를 행 단위로 삭제하려고 시도했으며 이전과 크기가 비슷한 파일이 남아 있습니다. 아직도 그루터기.
Simon Hova

0

제 경우에는 문제가 "테이블 형식"과 관련이있었습니다. 테이블에는 16000 개의 빈 열이있었습니다. 나는 이것이 이런 종류의 문제에 대한 가장 빈번한 이유 중 하나라고 생각합니다.


0

전체 워크 시트에서 모든 조건부 서식 규칙을 살펴본 결과로드가있었습니다. 나는 그것들을 모두 통과하고 지우고 나서 실제로 필요한 것을 만들었고, 지금은 정말 빠릅니다. 또한 필요하지 않은 모든 '연결'을 제거하고 모두 제대로 작동 한 후 .xlsb로 저장하면 훨씬 빠릅니다.


이것은 다른 답변의 정보를 복제하므로 "감사"의견처럼 느껴집니다.
bertieb
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.