Chuyển XLS sang XLSX
Gửi cho chúng tôi một workbook Excel 97-2003 và nhận lại gói .xlsx do LibreOffice ghi trên máy chủ của chúng tôi, với dữ liệu các sheet được viết lại thành gói Office Open XML hiện đại. Có một điều bạn cần biết trước: XLSX không lưu được VBA, nên mọi macro trong file cũ sẽ bị bỏ lại.
Đã bắt đầu tải xuống!
Bạn đánh giá trải nghiệm của mình với MiConvert như thế nào?
Vì sao nên chuyển XLS sang XLSX
XLS là định dạng workbook nhị phân cũ của Excel, định dạng mà Excel 97 đến 2003 ghi ra theo mặc định. Dữ liệu nằm trong một luồng bản ghi độc quyền chứ không phải trong các file bạn có thể đọc được, và đó là lý do nhiều phần mềm hiện nay từ chối nó: các trình chỉnh sửa bảng tính trên web yêu cầu .xlsx khi nhập, nhiều thư viện đọc file bằng Python hiện nay yêu cầu dạng XML nén mà openpyxl hiểu được, còn rất nhiều biểu mẫu tải lên của các hệ thống kế toán, ERP và nhân sự chỉ liệt kê .xlsx là loại bảng tính duy nhất được nhận. Các con số trong file vẫn ổn; vấn đề nằm ở phần vỏ chứa.
Trang này xử lý cặp định dạng đó bằng LibreOffice 7.4 chạy ở chế độ headless trên máy chủ của chúng tôi, dùng bộ lọc xuất Office Open XML của Calc. Microsoft Excel không tham gia vào bất kỳ bước nào, và không có gì được cài lên máy bạn. Việc tự tay đổi tên .xls thành .xlsx không có tác dụng, vì các byte bên trong vẫn là luồng bản ghi nhị phân cũ.
LibreOffice phân tích workbook nhị phân rồi ghi ra một gói Office Open XML mới qua bộ lọc xuất của Calc, nên dữ liệu sheet và giá trị ô được chuyển sang file mới. Chúng tôi chưa kiểm chứng mọi tính năng cũ sống sót ra sao với cặp định dạng này, nên hãy mở kết quả và so sánh: công thức, định dạng số, biểu đồ, pivot table và điều khiển biểu mẫu được dựng lại dựa trên cách LibreOffice đọc file chứ không phải sao chép từng bản ghi, nên chúng có thể bị xê dịch. Macro VBA thì hoàn toàn không đi theo được, vì định dạng .xlsx không có chỗ để chứa chúng, và chúng tôi không xuất ra .xlsm.
Những người cần đến việc này thường đang dọn các ổ đĩa chia sẻ đầy tệp đính kèm .xls, đưa báo cáo cũ vào một công cụ chỉ nhận .xlsx, hoặc làm việc trên máy không có bản quyền Excel. Đây cũng là câu trả lời nhanh nhất cho yêu cầu phổ biến: đổi .xls sang .xlsx mà không cần mở file trong một ứng dụng bảng tính trước.
Cách chuyển file XLS sang XLSX
- Nếu workbook có mật khẩu, hãy mở nó trong Excel hoặc LibreOffice Calc và lưu trước một bản không bảo vệ. Cơ chế mã hóa .xls cũ không được các bước kiểm tra của chúng tôi nhận ra, nên file được bảo vệ chỉ trả về lỗi "could not be opened" chứ không hỏi mật khẩu.
- Kiểm tra xem phần mở rộng có khớp với nội dung không. Những file thực chất là CSV, HTML hoặc một bản xuất cơ sở dữ liệu cũ nhưng lại mang tên .xls là nguyên nhân thất bại thường gặp, vì LibreOffice đọc các byte chứ không đọc tên file.
- Kéo file .xls vào khung tải lên, hoặc chọn nhiều file cùng lúc. Khách chưa đăng nhập gửi được file tối đa 50 MB và 10 file mỗi lượt; tài khoản miễn phí nâng giới hạn mỗi file lên 100 MB, Plus lên 200 MB và Pro lên 1 GB.
- Bắt đầu chuyển đổi. File được tải lên qua HTTPS và chuyển đổi trên máy chủ của chúng tôi; với kích thước thường thấy ở cặp định dạng này, khoảng 150 KB, kết quả vẫn đang trả về trong khoảng một giây.
- Tải file .xlsx về. Liên kết có hiệu lực khoảng bốn giờ, nên nếu được thì hãy tải ngay trong cùng phiên làm việc.
- Mở kết quả và kiểm tra mọi thứ không phải là ô dữ liệu thuần, đặc biệt là công thức, biểu đồ và pivot table trên những workbook cũ nhất.
Công cụ chuyển đổi này làm được gì
- Đọc định dạng nhị phân BIFF cũ bằng LibreOffice 7.4 ở chế độ headless và ghi kết quả qua bộ lọc xuất Office Open XML của Calc.
- Lưu lại workbook chứ không phải đổi tên nó: LibreOffice dựng một mô hình tài liệu mới từ file nhị phân rồi ghi ra một gói .xlsx thực sự, đó là lý do file .xls đổi tên bằng tay vẫn báo lỗi còn file đã chuyển đổi thì mở được.
- Không cần cài Excel, không cần plugin và không cần tài khoản, hoạt động như nhau trên Windows, macOS, Linux, ChromeOS hay trình duyệt điện thoại.
- Nhận nhiều workbook trong một lượt, tối đa 10 file với khách và tài khoản miễn phí, 25 với Plus và 50 với Pro. Mỗi file đã chuyển đổi được tải riêng; không có file ZIP gộp.
- Trả về thông báo cụ thể thay vì thất bại không rõ lý do khi file tải lên không đọc được hoặc bị cắt dở, và khi cặp định dạng không được hỗ trợ. Mã hóa .xls cũ là ngoại lệ: nó không được phát hiện, nên workbook được bảo vệ chỉ trả về "this document could not be opened".
- Cũng xử lý các định dạng đích phổ biến khác của cùng file này: .xls còn có thể được chuyển sang PDF, CSV hoặc HTML tại đây.
Câu hỏi về chuyển XLS sang XLSX
Công thức và định dạng của tôi có còn nguyên sau khi chuyển đổi không?
Dữ liệu sheet và giá trị ô được viết lại qua bộ lọc xuất Office Open XML của LibreOffice Calc. Chúng tôi không khẳng định đây là bản sao y hệt, và chúng tôi chưa kiểm chứng mọi tính năng cũ cho cặp định dạng này: công thức, định dạng số, biểu đồ, pivot table, điều khiển biểu mẫu và những tính năng rất cũ riêng của Excel đều được tạo lại dựa trên cách LibreOffice đọc file, nên hãy kiểm tra những sheet đó sau khi tải về.
Tôi có thể chuyển XLS sang XLSX mà không cần mở file trong Excel không?
Được, đó đúng là cách hoạt động ở đây. Bạn không bao giờ phải mở workbook; bạn tải nó lên, máy chủ của chúng tôi chuyển đổi và bạn tải file .xlsx về. Bên phía bạn không cần bản Excel nào, và đó thường là lý do mọi người tìm đến cách này thay vì dùng File, Save As.
Macro VBA trong file .xls cũ sẽ thế nào?
Chúng không còn trong file đầu ra. Định dạng .xlsx được định nghĩa mà không có chỗ lưu macro, nên không công cụ chuyển đổi nào đặt chúng vào đó được, và chúng tôi không tạo ra file .xlsm (phần mở rộng đó cũng bị từ chối khi tải lên). Hãy giữ file .xls gốc làm bản chứa macro, hoặc mở nó trong Excel trên máy tính và tự lưu thành .xlsm.
Tôi có thể chuyển đổi tự động cả một thư mục file XLS không?
Bạn có thể tải lên một lô trong một lượt, trong giới hạn số file nêu trên, và mỗi file trả về dưới dạng một bản tải .xlsx riêng. Ở đây không có thư mục theo dõi và không có tác vụ hẹn giờ, nên với công việc lặp lại trên máy của bạn, hãy dùng dòng lệnh của LibreOffice (soffice --headless --convert-to xlsx) hoặc một script Python.
Vì sao lần chuyển đổi của tôi thất bại?
Ba nguyên nhân bao trùm gần như mọi trường hợp. File được bảo vệ bằng mật khẩu, khi đó hãy lưu trước một bản không bảo vệ. File thực chất không phải .xls, nên hãy lưu lại nó bằng chính ứng dụng đã tạo ra nó với phần mở rộng chính xác. Hoặc workbook bị hỏng hay chưa tải lên xong, trường hợp này hiện ra thành "this document could not be opened" và thường khắc phục được bằng cách mở rồi lưu lại file trong Excel hoặc Calc trước khi thử lần nữa.
XLS có giống XLSX không?
Không. XLS là workbook nhị phân mà Excel dùng đến năm 2003, còn XLSX, từ Excel 2007 trở đi, là một kho lưu trữ ZIP gồm các phần XML, nhờ vậy nó nén tốt hơn và có thể được đọc bởi những phần mềm chưa bao giờ được viết cho định dạng bản ghi nhị phân cũ của Microsoft.
Tôi tải lên được file lớn tới mức nào?
50 MB khi không có tài khoản, 100 MB với tài khoản miễn phí, 200 MB với Plus và 1 GB với Pro. Còn có giới hạn tần suất theo từng IP: 10 lượt chuyển đổi mỗi giờ cho khách và tài khoản miễn phí, 50 lượt mỗi giờ với các gói trả phí. Bảng tính ở cặp định dạng này thường thấp hơn một megabyte khá nhiều, nên giới hạn này ít khi là vấn đề.
Bảng tính của tôi sẽ thế nào sau khi chuyển đổi?
Nó được tải lên qua HTTPS và chuyển đổi trên máy chủ của chúng tôi, không phải trong trình duyệt của bạn. File .xls đã tải lên được xóa ngay khi tác vụ hoàn tất, còn file .xlsx đã chuyển đổi vẫn tải về được trong khoảng bốn giờ qua một liên kết ngẫu nhiên, không thể đoán ra, trước khi bị xóa tự động. Tên file, kích thước và kết quả được ghi vào log của chúng tôi, và người dùng đã đăng nhập thấy lần chuyển đổi đó trong lịch sử của mình.