Khi Save As . . . thì tập tin bé lại, ?

Thảo luận trong 'Ứng dụng Excel' bắt đầu bởi HongViet, 5 Tháng mười hai 2005.

2,104 lượt xem

  1. HongViet

    HongViet Thành viên thân thiết

    Bài viết:
    286
    Đã được thích:
    10
    Nơi ở:
    Đà nẵng
    Tôi có một tập tin Excel 280.064 bytes; khi Save As nó với tên khác để lưu thì thấy tập tin mới chỉ còn 279.552 bytetho6iss. Như vậy nó là sao, các bạn?!:dzo:
     
    #1
  2. adam_tran

    adam_tran Steel Partner

    Bài viết:
    1,373
    Đã được thích:
    32
    Nơi ở:
    Goooogle
    Đây là vấn đề không phải của riêng Excel mà đối với tất cả các tập tin, các ứng dụng của Windows khi ghi dữ liệu trên đĩa định dạng FAT32.
    Vấn đề này phải dân chuyên IT mới hiểu, tớ chỉ hiểu nôm na thế này: Ổ đĩa được chia thành nhiều đơn vị lưu trữ nhỏ. Khi ghi tập tin, chương trình sẽ dò trên bảng FAT của đĩa xem địa chỉ nào còn trống và ghi vào đó, nếu chưa đủ, sẽ ghi tiếp ở chỗ khác. Nếu những vùng lưu trữ thông tin của file trên đĩa không liền nhau (dữ liệu phân mảnh) thì dẩn đến tình trạng lảng phí (một số cluster mặc dù chưa ghi dữ liệu nhưng FAT vẫn tính vào kích thước của file) do đó kích thước của tập tin sẽ tăng lên.
     
    #2
  3. ForestC

    ForestC Thành viên hoạt động

    Bài viết:
    377
    Đã được thích:
    1
    Nơi ở:
    E'rywhere
    Cái tình trạng bị nhỏ đi trong nhiều trường hợp là rất không tốt. Tuy nhiên trong trường hợp này của bạn là rất tốt đấy bạn ạ. Tôi chỉ sợ file của tôi tự dưng nó bị phình lên thôi chứ nhỏ đi thì càng đỡ tốn bộ nhớ.
     
    #3
  4. Tuanktcdcn

    Tuanktcdcn Lão già ham vui

    Bài viết:
    548
    Đã được thích:
    50
    Nơi ở:
    Hà Nội
    Hehe! Bác adam_tran nói như IT rồi! Nhưng mình không nghĩ vậy trong trường hợp của bạn HongViet.

    Khi chọn "Save as" EXCEL tổ chức lại cấu trúc file CSDL vào file mới, sau đó ghi các thông tin của file hiện thời vào file mới. Việc ghi lại các thông tin được EXCEL chọn lựa cái gì chọn để ghi còn cái nào cần bỏ. Chính vì vậy, file được tạo ra từ "Save as" dung lượng bao giờ cũng <= file cũ.
    Khi chọn "Save as" cũng cho phép bạn chọn save theo version nào của EXCEL, sự khác nhau về version cũng là lý do dung lượng giữa các file khác nhau.
     
    #4
  5. adam_tran

    adam_tran Steel Partner

    Bài viết:
    1,373
    Đã được thích:
    32
    Nơi ở:
    Goooogle
    Cái này em "suy ra" khi làm Flash. Số là em làm 1 file Flash trong đó include 3 file mp3, do đó, size của nó lên tới 12MB. Sau đó, em xóa các bản nhạc này đi nhưng size vẫn không hề giảm. Em Save As, cũng không giảm. Chỉ khi Save As với 1 cái tên khác vào 1 thư mục khác thì nó giảm còn 500Kb. Tại sao... thì hiểu như vậy cũng thỏa mãn rồi. :food-smil
     
    #5
  6. hai2hai

    hai2hai VNUNI Makes a difference

    Bài viết:
    2,012
    Đã được thích:
    128
    Nơi ở:
    Hà nội
    Hi friends,
    Bản chất của hiện tượng:

    Vì lúc đầu tuy có xóa resources đi nhưng nó chưa thực sự xóa hẳn ra khỏi file (mà chỉ xóa mang tính chất logical thôi, còn physical thì vẫn còn nguyên si). Vì thế mà file MDB mới có chức năng compact. Ở VB cũng vậy, trên các form (thực chất trong windows programing thì gọi là window) nếu ta cứ cho use 1 resource (như Picture, Icon, Cursors, v.v...) vào form rồi sau đó remove cái resource đó đi và cứ làm đi làm lại như thế thì file frx (file này chứa resources - nếu ai hiểu windows programming thì biết resources của windows là gì) sẽ tự nhiên tăng to đùng. Và khi compile ra exe thì mọi người thấy file exe của VB là rất to (vì nó ko compress cái un-used resources). Chính vì thế mà tớ hay dùng những công cụ nén những file excutable, dlls,... nên các ứng dụng tuy viết bằng VB (original VB compiled khoảng 2-4Mb) có kích cỡ chỉ còn ~400kbs thôi (Tốc độ chạy, memory & cpu uses gần như ko thay đổi so với original file). (Công cụ này áp dụng cho mọi output của các trình compiler - kể cả .NET)

    Hope that helps!
     
    #6

Chia sẻ trang này