Giới thiệu
Microsoft Excel hỗ trợ xử lý rất nhiều định dạng tệp khác nhau, phục vụ cho nhu cầu đa dạng của người dùng. Qua nhiều năm, các định dạng tệp như .xls, .xlsx, .xlsb,… hay các loại tệp văn bản khác nhau đã được sử dụng rộng rãi.
Trong các phiên bản Excel trước năm 2007, định dạng phổ biến là .xls. Tuy nhiên, kể từ Excel 2007, Microsoft đã giới thiệu hai định dạng tệp chính:
.xlsx – dành cho các tệp không chứa macro (macro-free)
.xlsm – dành cho các tệp có chứa macro
Một bảng tính trong Excel có thể được lưu dưới nhiều định dạng khác nhau tuỳ theo mục đích sử dụng. Kể từ Excel 2007, định dạng PDF cũng đã được tích hợp sẵn, cho phép người dùng lưu tệp dưới dạng PDF mà không cần phần mềm bên thứ ba. Bài viết này cung cấp rất nhiều tùy chọn khi bạn vào File > Save As…
Excel format | Extension | Description |
Excel Workbook | xlsx | Định dạng chuẩn từ Excel 2007 trở đi, dựa trên XML, không hỗ trợ macro |
Excel Macro-Enabled Workbook | xlsm | Tương tự .xlsx nhưng có thể chứa macro VBA |
Excel Binary Workbook | xlsb | Định dạng nhị phân, tối ưu cho tốc độ mở và lưu tệp lớn, hỗ trợ macro |
Excel Template | xltx | Mẫu bảng tính chuẩn (template) từ Excel 2007, không hỗ trợ macro |
Excel Macro-Enabled Template | xltm | Mẫu bảng tính có hỗ trợ macro, dùng làm khuôn mẫu có quy trình tự động |
Excel 97-2003 Workbook | xls | Định dạng nhị phân cũ, dùng trong Excel 97–2003 |
Excel 97-2003 Template | xlt | Mẫu bảng tính cho phiên bản Excel 97–2003 |
Microsoft Excel 5.0/95 Workbook | xls | Định dạng rất cũ từ thời Excel 5.0 và 95, ít được sử dụng hiện nay |
Excel Add-In | xlam | Định dạng Add-In mở rộng từ Excel 2007, dựa trên XML, hỗ trợ macro |
Excel 97-2003 Add-In | xla | Định dạng Add-In cho Excel 97–2003, dạng nhị phân, hỗ trợ macro |
Text format | Extension | Description |
Formatted Text (Space delimited) | prn | Lưu tệp với định dạng văn bản, phân cách bằng dấu cách (space) |
Text (Tab delimited) | txt | Lưu dưới dạng văn bản, phân cách bằng tab, dùng cho Windows (**) |
Text (Macintosh) | txt | Lưu dưới dạng văn bản, phân cách bằng tab, cho hệ điều hành Mac (**) |
Text (MS-DOS) | txt | Lưu dưới dạng văn bản, phân cách bằng tab, cho MS-DOS (**) |
Unicode Text | txt | Lưu dưới dạng văn bản Unicode, hỗ trợ các ký tự đa ngôn ngữ (*) |
CSV (Comma delimited) | csv | Lưu dưới dạng văn bản phân cách bằng dấu phẩy, dùng cho Windows (**) |
CSV (Macintosh) | csv | Lưu dưới dạng CSV dành cho hệ điều hành Mac (**) |
CSV (MS-DOS) | csv | Lưu dưới dạng CSV dành cho MS-DOS (**) |
DIF (Data Interchange Format) | dif | Lưu dưới định dạng trao đổi dữ liệu giữa các chương trình bảng tính |
SYLK (Symbolic Link) | slk | Lưu dưới định dạng liên kết biểu tượng, dùng để chia sẻ dữ liệu |
(*) Unicode Text: Cho phép lưu toàn bộ bảng tính (mọi sheet), không chỉ sheet hiện tại — khác với hầu hết các định dạng khác chỉ lưu sheet đang hoạt động.
(**) Các định dạng như CSV và Text (Tab delimited) sẽ diễn giải đúng các ký tự đặc biệt như: tab, xuống dòng, ký tự dấu cách,…
Other formats | Extension | Description |
Định dạng tệp có bố cục cố định, giúp giữ nguyên định dạng khi xem hoặc in tài liệu | ||
XPS Document | xps | Tương tự PDF, dùng để trình bày và chia sẻ tài liệu có bố cục cố định, nhưng là định dạng khác |
OpenDocument Spreadsheet | ods | Định dạng bảng tính theo chuẩn ODF v1.1, dùng cho các ứng dụng như LibreOffice, OpenOffice |
XML Spreadsheet 2003 | xml | Định dạng XML bảng tính do Excel 2003 tạo ra, dùng để trao đổi dữ liệu |
XML Data | xml | Lưu dữ liệu bảng tính ở dạng cấu trúc XML thuần, thích hợp để tích hợp vào hệ thống khác |
Single File Web Page | mht / mhtml | Lưu bảng tính thành một tệp trang web duy nhất, bao gồm cả hình ảnh và định dạng nhúng |
Web Page | htm / html | Lưu tệp dưới dạng trang web, với nội dung được chia ra thành tệp HTML và các thư mục phụ trợ |
PDF/XPS: Dùng để chia sẻ hoặc in ấn, không chỉnh sửa trong Excel.
XML/ODS: Phù hợp cho trao đổi dữ liệu giữa phần mềm hoặc sử dụng trong hệ thống mở.
MHT/MHTML/HTML: Dùng để xuất bảng tính Excel sang trang web, phục vụ mục đích hiển thị trực tuyến.
Mã VBA
Bạn có thể lưu sổ làm việc hoặc bảng tính với các định dạng tệp đã đề cập ở trên. Làm thế nào để thực hiện việc này? Thủ công và sử dụng mã.
Excel cho phép nhận dạng định dạng tệp của các tệp đã mở. Nhờ đó, bạn có thể phát hiện xem sổ làm việc đang hoạt động có phải là định dạng tệp Excel 2007/2010/2013 mà không cần lệnh macro (phần mở rộng .xlsx) hay không. Nhập vào Cửa sổ Immediate và nhấn Enter:
? ActiveWorkbook.FileFormat = xlOpenXMLWorkbook
Kết quả trả về là True hoặc False. Hoặc:
? ActiveWorkbook.FileFormat = 56
Mỗi định dạng tệp đều có số và tên riêng, bạn có thể đọc bằng thuộc tính FileFormat trong VBA. Trong ví dụ trên, chúng ta kiểm tra xem giá trị của thuộc tính FileFormat cho sổ làm việc đang hoạt động có trùng với hằng số xlOpenXMLWorkbook của Excel hay không, có thể được sử dụng ngắn gọn là số 56.
Câu hỏi: Làm thế nào để biết hằng số FileFormat cho một FileFormat cụ thể? Hãy xem các bảng tiện dụng bên dưới. Bảng đầu tiên hiển thị các hằng số mà một tệp có thể được lưu trong Excel 2007/2010/2013.
File format | Extension | File Format name | File Format number |
Excel Workbook | xlsx | xlOpenXMLWorkbook / xlWorkbookDefault | 51 |
Excel Macro-Enabled Workbook | xlsm | xlOpenXMLWorkbookMacroEnabled | 52 |
Excel Binary Workbook | xlsb | xlExcel12 | 50 |
Excel Template | xltx | xlOpenXMLTemplate | 54 |
Excel Macro-Enabled Template | xltm | xlOpenXMLTemplateMacroEnabled | 53 |
Excel 97-2003 Workbook | xls | xlExcel8 | 56 |
Workbook normal | xls | xlNormal / xlWorkbookNormal | -4143 |
Excel 97-2003 Template | xlt | xlTemplate / xlTemplate8 | 17 |
Microsoft Excel 5.0/95 Workbook | xls | xlExcel5 | 39 |
Excel Add-In | xlam | xlOpenXMLAddIn | 55 |
Excel 97-2003 Add-In | xla | xlAddIn / xlAddIn8 | 18 |
Formatted Text (Space delimited) | prn | xlTextPrinter | 36 |
Text (Tab delimited) | txt | xlTextWindows | 20 |
Current Platform Text | txt | xlCurrentPlatformText | -4158 |
Text (Macintosh) | txt | xlTextMac | 19 |
Text (MS-DOS) | txt | xlTextMSDOS | 21 |
Unicode Text | txt | xlUnicodeText | 42 |
CSV (Comma delimited) | csv | xlCSV | 6 |
CSV (Macintosh) | csv | xlCSVMac | 22 |
CSV (Windows) | csv | xlCSVWindows | 23 |
CSV (MS-DOS) | csv | xlCSVMSDOS | 24 |
DIF (Data Interchange Format) | dif | xlDIF | 9 |
SYLK (Symbolic Link) | slk | xlSYLK | 02-Oct |
xlTypePDF | (*) | ||
XPS Document | xps | xlTypeXPS | (**) |
OpenDocument Spreadsheet | paragraph | xlOpenDocumentSpreadsheet | 60 |
XML Spreadsheet 2003 | xml | xlXMLSpreadsheet | 46 |
XML Data | xml | xlXMLSpreadsheet | 46 |
Single File Web Page | mht / mhtml | xlWebArchive | 45 |
Web Page | htm / html | xlHtml | 44 |
(*) sử dụng: ExportAsFixedFormat với Type = xlTypePDF (hằng số 0)
(**) sử dụng: ExportAsFixedFormat với Type = xlTypeXPS (hằng số 1)
Ví dụ, sử dụng trong một thủ tục macro:
ActiveWorkbook.SaveAs FileName:="C:\MyFile", FileFormat:=xlOpenXMLWorkbook
Excel lưu sổ làm việc đang hoạt động dưới dạng MyFile.xlsx trên ổ đĩa C của bạn. Bạn không cần phải tự thêm .xlsx. Với ký hiệu viết tắt 56:
ActiveWorkbook.SaveAs FileName:="C:\MyFile", FileFormat:=56
Để lưu sổ làm việc đang hoạt động dưới dạng PDF hoặc XPS:
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, FileName:="C:\MyFile" 'or ActiveWorkbook.ExportAsFixedFormat Type:=xlTypeXPS, FileName:="C:\MyFile"
Dành cho những ai thích mã ngắn gọn và súc tích (hoặc những ai lười):
ActiveWorkbook.ExportAsFixedFormat 0, "C:\MyFile" 'or ActiveWorkbook.ExportAsFixedFormat 1, "C:\MyFile"
Thông thường, khi làm việc với Excel, bạn thao tác trên sổ làm việc đang hoạt động (Active Workbook). Tuy nhiên, bạn hoàn toàn có thể tham chiếu đến bất kỳ sổ làm việc nào khác, miễn là sổ làm việc đó đã được mở hoặc khai báo đúng cách trong VBA. Ngoài các định dạng tệp phổ biến đã liệt kê trước đó (như .xlsx, .xlsm, .csv, .txt, .xml, v.v.), vẫn còn tồn tại một số định dạng tệp cũ hơn hoặc ít dùng hơn. Bảng cuối cùng bên dưới minh họa các định dạng tệp này; thường thì đây là các định dạng tệp cũ hơn, đã lỗi thời.
File format | File Format name | File Format number |
DBF2 | xlDBF2 | 7 |
DBF3 | xlDBF3 | 8 |
DBF4 | xlDBF4 | 11 |
Excel2 | xlExcel2 | 16 |
Excel2 FarEast | xlExcel2FarEast | 27 |
Excel3 | xlExcel3 | 29 |
Excel4 | xlExcel4 | 33 |
Excel4 Workbook | xlExcel4Workbook | 35 |
Excel7 | xlExcel7 | 39 |
Excel9795 | xlExcel9795 | 43 |
International Add-In | xlIntlAddIn | 26 |
International Macro | xlIntlMacro | 25 |
WJ2WD1 | xlWJ2WD1 | 14 |
WJ3 | xlWJ3 | 40 |
WJ3FJ3 | xlWJ3FJ3 | 41 |
WK1 | xlWK1 | 5 |
WK1ALL | xlWK1ALL | 31 |
WK1FMT | xlWK1FMT | 30 |
WK3 | xlWK3 | 15 |
WK3FM3 | xlWK3FM3 | 32 |
WK4 | xlWK4 | 38 |
Worksheet | xlWKS | 4 |
Works2 FarEast | xlWorks2FarEast | 28 |
WQ1 | xlWQ1 | 34 |
Được sử dụng trong các phiên bản Excel rất cũ/ hoặc thuộc về ứng dụng bảng tính khác không còn phổ biến.
Lưu ý: Theo thông tin hiện tại (trên Excel 2007/2010/2013), bạn không thể lưu sổ làm việc sang các định dạng lỗi thời này, nhưng Excel vẫn có thể mở và nhận diện chúng. Khi bạn mở tệp như vậy, bạn có thể dùng mã VBA để kiểm tra loại định dạng (file format ID) của tệp.