chuỗi chung về cơ bản là một cơ chế tiết kiệm không gian. Đối với câu hỏi của bạn:
A1. Bạn không thể tạo chuỗi được chia sẻ theo cách thủ công bằng giao diện người dùng Excel. Đó là vì Excel theo mặc định luôn lưu trữ bất kỳ văn bản nào dưới dạng chuỗi được chia sẻ.
A2. Như đã đề cập, đó là một cơ chế tiết kiệm không gian. Excel 2007/2010/2013 sử dụng định dạng Open XML, về cơ bản là một loạt các tệp XML được nén lại với nhau. Nó cũng có thể dễ dàng tham khảo. Bạn chỉ cần tham khảo một chỉ mục, giống như bạn tham chiếu đến một chỉ mục của một chuỗi các chuỗi. (Nhưng XML vốn đã tiết lộ, vì vậy tôi nghi ngờ nó là dành cho mục đích tiết kiệm không gian).
Giả sử bạn có văn bản "Đây là chuỗi rất dài" trong ô A1 của trang tính "FirstSheet". Giả sử bạn cũng có cùng một văn bản trong ô B7 của trang tính "SecondSheet". Excel lưu trữ "Đây là một văn bản rất dài" trong bảng chuỗi chia sẻ dưới dạng một mục nhập, nói chỉ mục 5. Trong ô "FirstSheet" A1, ô Lớp SDK XML mở sẽ chỉ chứa "5" làm CellValue. Trong ô "SecondSheet" B7, ô Lớp SDK cũng sẽ chứa "5".
Về cơ bản, CellValue chỉ giữ chỉ mục vào bảng chuỗi được chia sẻ. Đây là cách bạn tiết kiệm không gian. Giả định là văn bản được nhân đôi trong bảng tính cũng như trên các trang tính khác nhau.
A3. Đi cho chuỗi chia sẻ nếu bạn hiểu làm thế nào để làm cho nó hoạt động. Nếu không, chỉ cần thiết lập các văn bản thực tế trong lớp Cell cho CellValue (Cell.DataType như CellValues.String thay vì CellValues.SharedString).
Nguồn
2013-07-02 09:48:45
Tuyệt vời !!! Hiểu rồi. Đây là những gì tôi đang tìm kiếm. Có ý tưởng hay. Cảm ơn một tấn cho lời giải thích của bạn – Santhosh