NEWS

[C#] Hướng dẫn chuyển đổi File Excel định dạng XLS to XLSX

[C#] Hướng dẫn chuyển đổi File Excel định dạng XLS to XLSX
Đăng bởi: Thảo Meo - Lượt xem: 3397 09:57:25, 04/10/2022C#   In bài viết

Xin chào các bạn, bài viết hôm nay mình sẻ tiếp tục hướng dẫn các bạn cách chuyển đổi định dạng File Excel phiên bản cũ (97-2003) xls sang định dạng XLSX.

[C#] Convert Excel format XLS to XLSX

Microsoft Excel đã thay đổi định dạng file Excel XLSX từ bộ Office 2006, cách đây đã 16 năm.

xls-xlsx-csharp

Vì vậy, khi các bạn làm việc với Excel, đọc dữ liệu để import thì các thư viện hiện tại đa số chỉ đều support định dạng: XLSX hoặc CSV.

Định dạng XLS không còn được hỗ trợ.

Các thư viện không hỗ trợ XLS như: Epplus, MiniExcel... các thư viện rất mạnh trong việc xử lý Excel.

Vậy muốn sử dụng các thư viện trên, chúng ta chỉ cần thực hiện một bước trung gian là chuyển đổi file đầu vào XLS sang XLSX.

Để chuyển đổi định dạng, các bạn cài đặt thư viện Microsoft.Office.Interop.Excel từ Nuget.

PM> NuGet\Install-Package Microsoft.Office.Interop.Excel -Version 15.0.4795.1001

Với thư viện này các bạn có thể chuyển đổi các định dạng trong File Excel.

Source code Convert XLS to XLSX:

public  string ConvertXLS_XLSX(FileInfo file)
{
    var app = new Microsoft.Office.Interop.Excel.Application();
    var xlsFile = file.FullName;
    var wb = app.Workbooks.Open(xlsFile);
    var xlsxFile = xlsFile + "x";
    if (File.Exists(xlsxFile)) { 
        File.Delete(xlsxFile); // override save file
    }
    wb.SaveAs(Filename: xlsxFile, FileFormat: Microsoft.Office.Interop.Excel.XlFileFormat.xlOpenXMLWorkbook);
    wb.Close();
    app.Quit();
    return xlsxFile;
}

Gọi chuyển đổi

var pathOutput = ConvertXLS_XLSX(new FileInfo("test.xls"));

Để chuyển đổi các loại định dạng văn bản trên excel các bạn chỉ cần chọn FileFormat ở lệnh wb.SaveAs

excel_format_file

XlFileFormat enumeration (Excel)

Name Value Description Extension
xlAddIn 18 Microsoft Excel 97-2003 Add-In *.xla
xlAddIn8 18 Microsoft Excel 97-2003 Add-In *.xla
xlCSV 6 CSV *.csv
xlCSVMac 22 Macintosh CSV *.csv
xlCSVMSDOS 24 MSDOS CSV *.csv
xlCSVUTF8 62 UTF8 CSV *.csv
xlCSVWindows 23 Windows CSV *.csv
xlCurrentPlatformText -4158 Current Platform Text *.txt
xlDBF2 7 Dbase 2 format *.dbf
xlDBF3 8 Dbase 3 format *.dbf
xlDBF4 11 Dbase 4 format *.dbf
xlDIF 9 Data Interchange format *.dif
xlExcel12 50 Excel Binary Workbook *.xlsb
xlExcel2 16 Excel version 2.0 (1987) *.xls
xlExcel2FarEast 27 Excel version 2.0 far east (1987) *.xls
xlExcel3 29 Excel version 3.0 (1990) *.xls
xlExcel4 33 Excel version 4.0 (1992) *.xls
xlExcel4Workbook 35 Excel version 4.0. Workbook format (1992) *.xlw
xlExcel5 39 Excel version 5.0 (1994) *.xls
xlExcel7 39 Excel 95 (version 7.0) *.xls
xlExcel8 56 Excel 97-2003 Workbook *.xls
xlExcel9795 43 Excel version 95 and 97 *.xls
xlHtml 44 HTML format *.htm; *.html
xlIntlAddIn 26 International Add-In No file extension
xlIntlMacro 25 International Macro No file extension
xlOpenDocumentSpreadsheet 60 OpenDocument Spreadsheet *.ods
xlOpenXMLAddIn 55 Open XML Add-In *.xlam
xlOpenXMLStrictWorkbook 61 (&H3D) Strict Open XML file *.xlsx
xlOpenXMLTemplate 54 Open XML Template *.xltx
xlOpenXMLTemplateMacroEnabled 53 Open XML Template Macro Enabled *.xltm
xlOpenXMLWorkbook 51 Open XML Workbook *.xlsx
xlOpenXMLWorkbookMacroEnabled 52 Open XML Workbook Macro Enabled *.xlsm
xlSYLK 2 Symbolic Link format *.slk
xlTemplate 17 Excel Template format *.xlt
xlTemplate8 17 Template 8 *.xlt
xlTextMac 19 Macintosh Text *.txt
xlTextMSDOS 21 MSDOS Text *.txt
xlTextPrinter 36 Printer Text *.prn
xlTextWindows 20 Windows Text *.txt
xlUnicodeText 42 Unicode Text No file extension; *.txt
xlWebArchive 45 Web Archive *.mht; *.mhtml
xlWJ2WD1 14 Japanese 1-2-3 *.wj2
xlWJ3 40 Japanese 1-2-3 *.wj3
xlWJ3FJ3 41 Japanese 1-2-3 format *.wj3
xlWK1 5 Lotus 1-2-3 format *.wk1
xlWK1ALL 31 Lotus 1-2-3 format *.wk1
xlWK1FMT 30 Lotus 1-2-3 format *.wk1
xlWK3 15 Lotus 1-2-3 format *.wk3
xlWK3FM3 32 Lotus 1-2-3 format *.wk3
xlWK4 38 Lotus 1-2-3 format *.wk4
xlWKS 4 Lotus 1-2-3 format *.wks
xlWorkbookDefault 51 Workbook default *.xlsx
xlWorkbookNormal -4143 Workbook normal *.xls
xlWorks2FarEast 28 Microsoft Works 2.0 far east format *.wks
xlWQ1 34 Quattro Pro format *.wq1
xlXMLSpreadsheet 46 XML Spreadsheet *.xml

Thanks for watching!

THÔNG TIN TÁC GIẢ

BÀI VIẾT LIÊN QUAN

[C#] Hướng dẫn chuyển đổi File Excel định dạng XLS to XLSX
Đăng bởi: Thảo Meo - Lượt xem: 3397 09:57:25, 04/10/2022C#   In bài viết

CÁC BÀI CÙNG CHỦ ĐỀ

Đọc tiếp
.