|
请参考:- Sub 导入超过65536行数据的csv文件()
- Dim cnn As Object, rs As Object, SQL$, arr(), i&, m&, sh As Worksheet
- Application.ScreenUpdating = False
- Application.DisplayAlerts = False
- For Each sh In Sheets
- If sh.Name Like "第*页" Then sh.Delete
- Next
- Set cnn = CreateObject("ADODB.Connection")
- cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='text;FMT=DELIMITED';Data Source=" & ThisWorkbook.Path & ""
- SQL = "select * from csv文件.csv"
- Set rs = cnn.Execute(SQL)
- ReDim arr(rs.Fields.Count - 1)
- For i = 0 To rs.Fields.Count - 1 '写字段名
- arr(i) = rs.Fields(i).Name
- Next
- While Not rs.EOF
- m = m + 1
- Sheets.Add(After:=Sheets(Sheets.Count)).Name = "第" & m & "页"
- [a1].Resize(, i) = arr
- [a2].CopyFromRecordset rs, 65535
- Wend
- rs.Close
- cnn.Close
- Set rs = Nothing
- Set cnn = Nothing
- Application.ScreenUpdating = True
- End Sub
复制代码 |
|