Chẩn đoán bảng tính Excel chậm?


13

Một khách hàng đã liên lạc với tôi, phàn nàn về bảng tính Excel đã mất quá nhiều thời gian để mở. Họ sử dụng Excel để tạo hóa đơn, vì vậy họ có hàng trăm bảng tính Excel với định dạng nhẹ và các phép tính rất đơn giản. Khi sắp xếp các bảng tính theo kích thước, tôi thấy rằng trong khi hầu hết các bảng tính dao động từ 10-250k, có một số bảng tính có kích thước tệp từ 2-3 MB trở lên. Điều kỳ lạ là các tệp không lớn, chúng không chứa nhiều dữ liệu, chỉ là một chút định dạng, có thể là hai hoặc ba trang hóa đơn được in, nhưng lượng dữ liệu gần như giống với bảng tính có kích thước nhỏ hơn (và mở bình thường) .

Khi mở tệp, dung lượng RAM cần thiết sẽ tăng từ 3 MB lên 400 MB và nó sẽ chiếm hoàn toàn một lõi đơn (được thử nghiệm trên lõi kép trong văn phòng và máy tính xách tay lõi tứ của tôi), trong khi bắt đầu. Tôi nghĩ rằng bằng cách nào đó họ đã bắt được một số mã VBA, nhưng không có macro, không có mã VBA. Ctrl + End hiển thị 39 hàng và khoảng 12 cột (kết thúc tại M). Tôi thậm chí đã xóa dữ liệu, từng hàng hoặc từng cột, cho đến khi không còn dữ liệu nào và nó vẫn cho tôi vấn đề tương tự.

Tôi đã xem xét nhiều tìm kiếm của Google, nhưng tôi không tìm thấy ở đâu. bất cứ ai có thể cung cấp bất kỳ sự giúp đỡ?


Một lưu ý thú vị khác: Tôi không thể lưu tệp xlsx dưới dạng tệp xls trong Excel 2007, nhưng bằng cách nhập tệp vào Google Docs, sau đó lưu tệp dưới dạng tệp xls, tôi lại nhận được tệp có kích thước bình thường.
Simon Hova

Câu trả lời:


7

Tôi đã tìm thấy câu trả lời cho vấn đề của mình!

Sử dụng các manh mối được cung cấp cho tôi bởi allquixotic, tôi đã mở các tệp xlsx trong 7-Zip và so sánh kích thước tệp. Có một tập tin đó là nhiều hơn so với những người khác. Tệp xl \ vẽ \ draw1.xml là một tệp chứa nhiều tham chiếu đến các định dạng, lặp đi lặp lại.

Tôi đã dành một vài giờ để cố gắng tìm ra một mô hình, nhưng không thể. Không có gì tôi có thể làm có thể làm cho nó hoạt động! Sau đó, sau một đợt tăng nặng, tôi mới xóa tệp chết tiệt đó và cố gắng mở lại trong Excel (2010- không kiểm tra nó trong Excel 2007).

Nó phàn nàn rằng tập tin bị hỏng và hỏi tôi có muốn sửa chữa không. Sửa chữa tệp chỉ đơn giản là xóa hình dạng, nhưng không thay đổi định dạng của tệp. Tôi đã phải lưu lại tập tin dưới dạng cùng một tập tin, điều này hơi kỳ lạ, nhưng nó đã hoạt động!

Như tôi đã đề cập trước đây, tôi đã không thử nghiệm giải pháp này cho bất kỳ sản phẩm nào ngoài Excel 2010, vì vậy tôi không biết liệu tệp hình dạng có quan trọng đối với Excel 2k7 hoặc bất kỳ sản phẩm OpenOffice nào không. Nhưng, nếu bạn có một vấn đề tương tự, hy vọng điều này có thể hữu ích.


Tôi đã gặp tập tin với cùng một vấn đề. Thay vì xóa draw1.xml, tôi đã xóa tham chiếu đến bản vẽ từ sheet1.xml và đã "lưu dưới dạng". Nguyên nhân có thể có thể là sao chép dữ liệu hoặc các chuỗi được định dạng từ thư, internet hoặc các bảng tính khác.
Andrei

1
Gặp một tình huống tương tự. Trong trường hợp của tôi, có một số drawN.xml, với kích thước từ "chấp nhận được" 200 KB đến 80 MB. Tập tin đó mang đến cả máy tính để bàn lõi tứ với RAM 16 GB đến đầu gối. Xóa tất cả drawN.xml (vì tệp Excel thậm chí không chứa bất kỳ biểu đồ / đồ họa nào) giải quyết vấn đề, hoạt động trên Office 365 mới nhất tại thời điểm viết bài này.
Martheen Cahya Paulo

6

Bạn đang sử dụng định dạng .xls nhị phân hoặc định dạng .xlsx dựa trên XML mới? Nói chung, định dạng .xlsx dẫn đến giảm đáng kể kích thước tệp.

Kiểm tra những thứ như quá nhiều kiểu được lưu trữ trong tài liệu.

Cố gắng "xóa thông tin cá nhân" (một tính năng của Excel / Word / v.v.) để dọn sạch một số loại hành trình có thể có trong tệp.

Nếu bảng tính là, hoặc đã được chia sẻ trước đó, nó có thể có dữ liệu chia sẻ cũ được lưu trữ trong đó.

Một cách khắc phục đơn giản là sao chép và dán chỉ các dữ liệu có liên quan từ bảng tính đó sang một bảng mới, sau đó lưu nó ở định dạng .xlsx và xem nó nhỏ như thế nào. Nếu nó rất nhỏ thì bạn đã có câu trả lời của mình - Excel đang hạch toán kém các cấu trúc dữ liệu của định dạng tệp bên trong của nó.

Đồng thời kiểm tra các công thức phức tạp hoặc tròn và tham chiếu đến các trang tính bên ngoài (đặc biệt là các trang trên ổ đĩa mạng). Nếu bạn nghĩ rằng một công thức có thể chậm, bạn có thể bước qua nó bằng công cụ kiểm toán công thức.

Điều cuối cùng: nếu bạn lưu nó dưới dạng .xlsx và nó vẫn còn lớn, hãy thử tải xuống công cụ Năng suất SDK OpenXML: http://www.microsoft.com/en-us/doad/details.aspx?id=5124

Mở .xlsx trong đó và chỉ cần xem tất cả các thành phần trong tệp và xem có gì rõ ràng là không liên quan. Điều này có thể đòi hỏi kiến ​​thức về XML và các lược đồ OpenXML cụ thể, nhưng đó là một cách chắc chắn để tìm hiểu điều gì gây ra sự phình to.

Tái bút - nếu loại điều này làm bạn khó chịu, hãy ngừng sử dụng các định dạng / chương trình của Microsoft hoặc đề nghị khách hàng của bạn làm điều đó. Nếu bạn tìm kiếm thông tin về "cơ sở dữ liệu Microsoft Access", bạn sẽ thấy rằng Microsoft có một lịch sử lâu dài khi để các định dạng độc quyền của họ rò rỉ hàng tấn dữ liệu vô dụng vào đĩa mà không bao giờ được dọn sạch. Nó giống như một rò rỉ bộ nhớ thực sự khó chịu ăn đĩa của bạn thay vì RAM của bạn.


Bảng tính thực sự là một xlsx và một điều kỳ lạ: Tôi không thể lưu nó dưới dạng tệp .xls. Nó liên tục trả về lỗi trong Excel 2k7. Tôi đã lưu một bản sao dưới dạng bảng tính xml 2003 và điều kỳ lạ mà tôi tìm thấy là nó liệt kê một số lượng lớn các kiểu . Điều này là kỳ lạ vì toàn bộ bảng tính sử dụng cùng một phông chữ và không có định dạng đặc biệt. Vẫn không biết phải nói gì với khách hàng của tôi.
Simon Hova

2

Một giải pháp khả thi khác là:

  1. Tạo một bản sao của tệp Excel có vấn đề
  2. Mở bản sao đó
  3. Nhấn CTRL + A và sau đó nhấp vào "Xóa" -> "Xóa định dạng"
  4. Lặp lại bước 3 trên mỗi bảng tính
  5. Lưu tệp và cố gắng mở lại nó

Khi có quá nhiều định dạng, đặc biệt là nếu có nhiều kiểu khác nhau được áp dụng cho nhiều ô riêng lẻ, Excel thực sự vật lộn khi cố gắng áp dụng định dạng khi mở tệp.

Đương nhiên, khi bạn xóa tất cả các định dạng, bạn sẽ chỉ có văn bản với kiểu mặc định được áp dụng cho tất cả các ô có viền, tô bóng, v.v. Nhưng bằng cách này bạn có thể xác định chính xác nguyên nhân của vấn đề.


0

Để giảm đáng kể kích thước, bạn có thể thử định dạng .xlsb. Nên giảm nhiều hơn bất kỳ định dạng dựa trên XML nào khác mà excel cung cấp.

Mở một trong những bảng tính đó và xem định dạng. Hãy tìm bất cứ điều gì thông thường. Cố gắng sao chép toàn bộ cột vào bảng tính excel khác và chỉ dán các giá trị (không có định dạng nào). Xem nếu nó giúp.


Tôi đã cố gắng tiết kiệm trong xlsb. Không giảm kích thước nào cả. Ảnh chụp màn hình .
Simon Hova

@Simon Hova Bạn đã thử đặt phép tính thành thủ công và khởi động lại excel chưa? Nó có thể là bất cứ điều gì: công thức, định dạng. Bạn đã sao chép cột dữ liệu sang một bảng tính excel khác để xem hiệu suất có giống nhau không? Chỉ là dữ liệu; không có công thức hoặc định dạng. Việc thêm chúng cùng một lúc và xem vấn đề ở đâu.
TwirlMandarin

Đó là một điều kỳ lạ, có không tính toán, không có công thức được chạy. Nó chỉ là một vài hàng và cột với một số định dạng nhỏ. Tôi đã thử xóa từng hàng dữ liệu và tôi còn lại một tệp có cùng kích thước như trước. Vẫn còn bế tắc.
Simon Hova

0

Trong trường hợp của tôi, vấn đề liên quan đến "Định dạng như bảng". Bảng có 16000 cột trống. Tôi đoán đây là một trong những lý do thường gặp nhất cho loại vấn đề này.


0

Tôi đã xem xét tất cả các quy tắc định dạng có điều kiện, trong toàn bộ bảng tính và có rất nhiều tải. Tôi đã đi qua và xóa tất cả, và sau đó tạo ra những cái tôi thực sự cần, và bây giờ nó thực sự rất nhanh. Đồng thời loại bỏ tất cả các 'Kết nối' tôi không cần và lưu dưới dạng .xlsb sau khi tất cả đều hoạt động tốt và thậm chí còn nhanh hơn bây giờ: o)


Điều này trùng lặp thông tin trong các câu trả lời khác, và do đó cảm thấy như một bình luận "cảm ơn".
bertieb
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.