快速批量将csv转换成excel文件步骤如下:
1、首先随便打开一个表格文件。
2、在开发工具标签页下有个宏功能。
3、打开宏窗口后,随便起个名字,新建。
4、箭头指的部分准备粘贴代码,代码粘贴下面的,其中目录部分换成你的csv文件所在的目录。
5、书写程序:
ChDir "C:\Users\Administrator\Desktop\新建文件夹"
Dim sDir As String
Dim curdir As String
curdir = "C:\Users\Administrator\Desktop\新建文件夹"
sDir = Dir(curdir &"\*.csv")
While Len(sDir)
Workbooks.Open Filename:=curdir &"\" &sDir
Dim temp As String
temp = Left(sDir, Len(sDir) - 4)
ActiveWorkbook.SaveAs Filename:=curdir &"\" &temp &".xls", _
FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWorkbook.Close
sDir = Dir
Wend
6、点击运行按钮运行。
7、在页面中等待一会儿。
8、现在所有csv文件都有一分转化为xls的文件了。
Comma-Separated Value ( [卡门 赛婆乱提的] 逗号分隔)(CSV),因分隔符没有严格的要求,可以使用逗号,也可以使用其他字符(如制表符\t,分号等),所以CSV也被称为 逗号分隔或者其他字符分隔值 。csv文件是使用纯文本来存储表格数据(只能存储文本,不能存储二进制)。
构造器涉及到的三个参数:
注:若是设置解析的编码,需要在InputStreamReader对象中设置。
在上面我们可以使用readNext或者readAll进行逐行解读。但是opencsv提供了基于"策略"的映射,将CSV绑定到bean。
注:bean的类型只能为基本数据类型以及String类型,若是BigDecimal类型,那么将会抛出异常。
解析后的bean类:
csv文件:
通俗点就是列位置映射,csv文件中列位置对应到bean中的列。
需要注意的是,该策略会输出所有的行, 故,我们需要跳过某些行。
测试方法:
测试结果:
csv文件:
测试结果:
在csv获取的都是字符串,这种情况下应该使用转换器。将csv中的字段转换为对应的bean中的字段类型。
opencsv为我们提供了上面的两个转换器(我们可以参考,来实现自定义转换器)。使用 AbstractBeanField<T>类来实现转换器。
csv文件
注:若是列映射策略,则要使用@CsvCustomBindByPosition()注解。
测试结果:
所有的过滤器必须实现CsvToBeanFilter 接口
测试结果
(官网)csv官方文档
(官网)CSVParserBuilder——CSVParser的目的是获取单个字符串并根据分隔符,引号和转义字符将其解析为其元素。
(官网)CSVReaderBuilder类
(理论)原CSV类库:OpenCSV
(API)用opencsv文件读写CSV文件
(API)opencsv4.0 自定义规则
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)