Ghép 02 file csv thành 01 file excel bị lỗi font

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

haocaocu

Thành viên mới
Tham gia
1/8/08
Bài viết
10
Được thích
2
Mình có làm 1 đoạn code để ghép 02 file csv thành 01 file excel. Mình sử dụng ADODB để lấy dữ liệu vào recordset xong đổ ngược lại file excel. Nhưng bên file csv đang font kiểu unicode "Calibri" hiển thị tiếng việt bình thường nhưng đổ ra file excel thì lại bị lỗi font. Nguyên nhân vì sao nhỉ. Ai biết chỉ cách khắc phục với. Cảm ơn!
Đây là code.
Mã:
Sub GetDataFromCSVFiles()

    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim DPFileName, DPFilePath As String
    Dim SQLString As String
    Dim i As Integer
    Dim IsFirstFile As Boolean
    DPFilePath = ThisWorkbook.Path & "\My Files\"
    DPFileName = Dir(DPFilePath & "*.csv")
    IsFirstFile = True
    Do Until DPFileName = ""
        If IsFirstFile Then
            SQLString = "SELECT * FROM [" & DPFileName & "]"
            IsFirstFile = False
        Else
            SQLString = SQLString & " UNION SELECT * FROM [" & DPFileName & "] "
        End If
        DPFileName = Dir
    Loop
    
    Sheet1.Range("A1").CurrentRegion.Offset(1, 0).Clear
    
    Set cn = New ADODB.Connection
    cn.Provider = "Microsoft.ACE.OLEDB.12.0"
    cn.ConnectionString = "Data Source=" & DPFilePath & ";" & _
            "Extended Properties=""text;HDR=Yes;IMEX=1;FMT=Delimited;"""
    'cn.ConnectionString = _
        "Driver={Microsoft Text Driver (*.txt; *.csv)};" & _
        "Dbq=" & ThisWorkbook.Path & "\My Files\;" & _
        "Extensions=asc,csv,tab,txt;"
    
    cn.Open
    
    Set rs = New ADODB.Recordset
    
    rs.ActiveConnection = cn
    rs.Source = SQLString
    rs.Open
    
    'For i = 0 To rs.Fields.Count - 1
    '    Sheet1.Cells(1, i + 1).Value = rs.Fields(i).Name
    'Next i
        
    'Sheet1.Cells(1, 1).Value = Mid(Sheet1.Cells(1, 1).Value, 4)
    
    Sheet1.Range("A2").CopyFromRecordset rs
    
    rs.Close
    cn.Close
    
    Sheet1.Range("A2").CurrentRegion.EntireColumn.AutoFit

End Sub
 
Bạn đưa cái code không mà không có file csv thì thử cách nào?
 
Upvote 0
Hình như cmd có gộp file CSV rất nhanh.

Mã:
copy *.csv a.csv

Bác cần thì dùng không thì thôi em không ý kiến gì nhé, chỉ chia sẽ thôi.
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom