找回密码
 立即注册
搜索
查看: 84|回复: 9

ADO读取CSV乱码

[复制链接]
灌水成绩
2
17
57
主题
帖子
积分

等级头衔 ID : 898
用户组 : 注册会员

积分成就 测量币 : 57
违规 : 0
在线时间 : 0 小时
注册时间 : 2026-4-6
最后登录 : 2026-4-23

勋章

活跃会员最佳新人

联系方式

发表于 2019-4-22 13:21:00 | 显示全部楼层 |阅读模式
我这里有多个CSV文件 我想用ADO读取过来 然后再做后续处理  
但是结果显示的是乱码 求大神解决下
不用能open的方式获取 因为BD列它是零开头的 用open方式打开 开头是0的就没有了

现在的要求就是 直接把这个数据包完整的读取过来放到sheet2 就可以。。


4.rar (654.4 KB, 下载次数: 0)

重要声明:以上内容仅代表作者达姆观点,不代表本站测量协会立场。如有涉及侵权请尽快告知,我们将会在第一时间处理。作者原创内容未经允许不得转载!

站长联系邮箱:1339305021@qq.com

站长联系微信:dddnnbbb

灌水成绩
3
21
43
主题
帖子
积分

等级头衔 ID : 829
用户组 : 新手上路

积分成就 测量币 : 43
违规 : 0
在线时间 : 0 小时
注册时间 : 2026-4-6
最后登录 : 2026-4-23

勋章

活跃会员最佳新人

联系方式

发表于 2019-4-22 13:29:00 | 显示全部楼层
用excel自带的导入外部数据的功能就行了
回复

使用道具 举报

灌水成绩
0
23
23
主题
帖子
积分

等级头衔 ID : 846
用户组 : 新手上路

积分成就 测量币 : 23
违规 : 0
在线时间 : 0 小时
注册时间 : 2026-4-6
最后登录 : 2026-4-23

勋章

活跃会员最佳新人

联系方式

发表于 2019-4-22 13:30:00 | 显示全部楼层
可以这样:

  •     Dim str0 As String,str1 As String
  •     Dim strPath As String, strFile As String

  •     str1 = Application.GetOpenFilename(fileFilter:="CSV或Excel文件(*.csv;*.xls;*.xlsx),,CSV文件(*.csv),*.csv,Excel2003文件(*.xls),*.xls,Excel2007文件(*.xlsx),*.xlsx,所有文件(*.*),*.*", Title:="选择导入文件")   'MultiSelect:=True允许选择多个文件,返回数组
  •     If str1 = "False" Then Exit Sub
  •     str0=str1 '取原文件地址
  •     strPath = Left(str1, InStrRev(str1, "")) '截取路径
  •     strFile = Right(str1, Len(str1) - InStrRev(str1, "")) '截取文件名
  • '--------------------------------------------------------------导入表格-------------------------
  •         Application.ScreenUpdating = False
  •         Set wb = GetObject(str1)
  •         wb.Application.ScreenUpdating = False

  •         With wb.ActiveSheet
  •                 '处理文件代码段
  •                 '......
  •                 '处理文件代码段
  •         End With
  •         wb.Application.ScreenUpdating = True

  •         If Right(str1, 4)  ".xls" Then
  •             wb.Application.DisplayAlerts = False
  •             str1 = strPath & Left(strFile, InStrRev(strFile, ".") - 1) & ".xls" '保存为.xls 格式
  •             wb.SaveAs Filename:=str1, FileFormat:=xlNormal   '另存为excel 2003文件(.xls)xlExcel8值56 或 xlNormal,(.xlsx)xlOpenXMLWorkbook值51,(.xlsm)xlOpenXMLWorkbookMacroEnabled值52
  •             wb.Application.DisplayAlerts = True
  •             Kill str0 '删除原文件
  •         End If
  •         wb.Close savechanges:=True '关闭并保存工作薄

  •         Set wb = Nothing        Application.ScreenUpdating = True
回复

使用道具 举报

灌水成绩
1
20
10
主题
帖子
积分

等级头衔 ID : 814
用户组 : 新手上路

积分成就 测量币 : 10
违规 : 0
在线时间 : 0 小时
注册时间 : 2026-4-6
最后登录 : 2026-4-23

勋章

活跃会员最佳新人

联系方式

发表于 2019-4-22 13:30:00 | 显示全部楼层
我一个文件夹多个数据包。而且用这个导入速度慢,不是没尝试过
回复

使用道具 举报

灌水成绩
3
24
55
主题
帖子
积分

等级头衔 ID : 894
用户组 : 注册会员

积分成就 测量币 : 55
违规 : 0
在线时间 : 0 小时
注册时间 : 2026-4-6
最后登录 : 2026-4-23

勋章

活跃会员最佳新人

联系方式

发表于 2019-4-22 13:48:00 | 显示全部楼层
并不是说打开这个CSV要干嘛 而且要把这个CSV文件读取到一个新的工作簿上 不做任何处理。
回复

使用道具 举报

灌水成绩
2
18
30
主题
帖子
积分

等级头衔 ID : 878
用户组 : 新手上路

积分成就 测量币 : 30
违规 : 0
在线时间 : 0 小时
注册时间 : 2026-4-6
最后登录 : 2026-4-23

勋章

活跃会员最佳新人

联系方式

发表于 2019-4-22 13:58:00 | 显示全部楼层
用Open方法不会乱码的,附件楼主试试看
导入 CSV数据.zip (27.7 KB, 下载次数: 0)
回复

使用道具 举报

灌水成绩
1
20
22
主题
帖子
积分

等级头衔 ID : 808
用户组 : 新手上路

积分成就 测量币 : 22
违规 : 0
在线时间 : 0 小时
注册时间 : 2026-4-6
最后登录 : 2026-4-23

勋章

活跃会员最佳新人

联系方式

发表于 2019-4-22 14:44:00 | 显示全部楼层
感谢大哥,没有乱码  但是BD列原本是0开头的 用open打开0就没了
回复

使用道具 举报

灌水成绩
1
18
10
主题
帖子
积分

等级头衔 ID : 869
用户组 : 新手上路

积分成就 测量币 : 10
违规 : 0
在线时间 : 0 小时
注册时间 : 2026-4-6
最后登录 : 2026-4-23

勋章

活跃会员最佳新人

联系方式

发表于 2019-4-22 15:03:00 | 显示全部楼层
其实还是打开CSV,把内容复制出来。
回复

使用道具 举报

灌水成绩
0
19
13
主题
帖子
积分

等级头衔 ID : 813
用户组 : 新手上路

积分成就 测量币 : 13
违规 : 0
在线时间 : 0 小时
注册时间 : 2026-4-6
最后登录 : 2026-4-23

勋章

活跃会员最佳新人

联系方式

发表于 2019-4-22 15:08:00 | 显示全部楼层
读取到数组再处理一下呗
导入 CSV数据.zip (30.23 KB, 下载次数: 0)
回复

使用道具 举报

灌水成绩
1
25
36
主题
帖子
积分

等级头衔 ID : 877
用户组 : 新手上路

积分成就 测量币 : 36
违规 : 0
在线时间 : 0 小时
注册时间 : 2026-4-6
最后登录 : 2026-4-23

勋章

活跃会员最佳新人

联系方式

发表于 前天 20:18 | 显示全部楼层
现在容易了,excel刚加了新函数IMPORTCSV和IMPORTTEXT。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|测量协会 ( 桂ICP备2026007449号-1 )

GMT+8, 2026-4-25 03:20 , Processed in 0.086301 second(s), 32 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表