fbcabca1015522f8ac1392cda4a54058.gif

编辑:哈雷  |  来源:巨盒创意  |  欢迎转发到朋友圈 63d6091b206dae6c7fa07867358e1c3a.gif

新建excel文件的时候,会发现有两种后缀可以选择,分别是xls和xlsx。今天小编就给大家详解下,两种文件在日常应用中的区别与格式互相转换。

xls与xlsx格式的区别

1、版本区别xls为 office 2003 以前的版本,只要是03以前的版本创建的文件都是以.xls为扩展名的;而xlsx则是office 2007以上的版本。新建文件保存为.xlsx为扩展名的文件。 office 2003之前的版本可以打开xls格式文件,但打不开xlsx格式文件;在新版office办公软件可以打开xls格式文件。

2、空间和运算速度:xlsx比xls更节约空间,运算速度也更快一些。

3、数据容量:xls只有65536行、256列,而xlsx可以有1048576行、16384列。

4、多出的x的含义:xlsx的核心结构是 XML 类型的结构,采用的是基于 XML 的压缩方式,而xls的核心结构是复合文档类型的结构。

如何将xlsx文件在office 2003版本上面打开呢?

我们常常遇到xlsx无法在excel 2003中打开,是因为xlsx文件版本高,有一些功能无法在低版本中实现,那究竟怎么才能在低版本中打开呢。看如下方法:

选择“文件”菜单 >>“另存为”功能 >> 弹出“另存为”对话框,选择保存类型为:Excel 97-2003 工作簿”,点击保存即可。  //  Excel 97-2003 工作簿是一种兼容格式,可以在office 2003旧版本软件中打开。

bf450f16392c1185056f42f23286e725.png

xls与xlsx格式的批量互相转换

我们会在日常工作中遇到,好多的系统系统为了兼容性,大多选用xls格式的文件,在系统导出的excel文件多为xls格式。但是我们为了数据的更便捷的处理,一般会使用xlsx格式文件。如果,有大量的xls文件需要转换为xlsx文件时,手动一个个另存为工作量巨大,为了能够高效的工作,小编在这里给大家介绍一种批量将xls和xlsx格式转换的方法:

1、新建一个xlsx文件,使用新版office excel 软件打开。     // WPS的宏功能是收费的项目,建议大家使用office

2、文件>>  选项>> 信任中心>> 点击“信任中心设置”按钮>> 宏设置>> 选中“启用所有宏”点击“确定”按钮。    // 要执行VB代码必须先启用宏设置。

7ce844eaacba08b9b245f64720635b79.png

3、右键单击任意一个工作表标签,在弹出的右键快捷菜单单击“查看代码”进入VBA编辑环境;

23a4bea7f9fe6789cd28b018b87b5dc2.png

7aa6ff2a6fa172fbcfd6b0d3de8725d8.png

4、“代码窗口”复制粘贴以下代码,按下F5快捷键执行这段代码或者在菜单中单击“运行子过程/用户窗体”命令。     // 执行过程中,不要去做其他的事情,不然可能会中断程序运行;如果同目录下 xls 和 xlsx同时存在,也执行不了!运行完成后会,所有转换好的xlsx文件存于一个xlsx文件夹中。

'xls转换为xlsx格式的vb代码

Sub xls2xlsx()

Dim FilePath, MyFile, iPath, Name, OutPath As String

iPath = ThisWorkbook.Path

OutPath = Dir(iPath & "\xlsx", vbDirectory)

If OutPath = "" Then

    MkDir (iPath & "\xlsx")

End If

MyFile = Dir(iPath & "\*.xls")

If MyFile <> "" Then

Do

    On Error Resume Next

    If MyFile = ThisWorkbook.Name Then MyFile = Dir

    Workbooks.Open (iPath & "\" & MyFile)

    MyFile = Replace(MyFile, ".xls", ".xlsx")

    Name = "\" & MyFile

    FilePath = iPath & "\xlsx" & Name

    Application.ScreenUpdating = False

    ActiveWorkbook.SaveAs Filename:=FilePath, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

    Workbooks(MyFile).Close True

    Application.ScreenUpdating = True

    MyFile = Dir

Loop While MyFile <> ""

End If

End Sub

91081fe107a49f6cd6304a07708a84b3.png

'xlsx转换为xls格式的vb代码,此代码只可转换不超过65536行数据的xlsx文件,如果超过的会出错,只转换65536行数据。

Sub xlsx2xls()

Dim FilePath, MyFile, iPath, Name, OutPath As String

iPath = ThisWorkbook.Path

OutPath = Dir(iPath & "\xls", vbDirectory)   '输出路径修改为xls

If OutPath = "" Then

    MkDir (iPath & "\xls")                '输出路径修改为xls

End If

MyFile = Dir(iPath & "\*.xlsx")        '源文件路径修改为xlsx

If MyFile <> "" Then

Do

    On Error Resume Next

    If MyFile = ThisWorkbook.Name Then MyFile = Dir

    Workbooks.Open (iPath & "\" & MyFile)

    MyFile = Replace(MyFile, ".xlsx", ".xls")   '输出路径修改为xls和xlsx前后顺序替换

    Name = "\" & MyFile

    FilePath = iPath & "\xls" & Name     '输出路径修改为xls

    Application.ScreenUpdating = False

    ActiveWorkbook.SaveAs Filename:=FilePath, FileFormat:=xlExcel8, CreateBackup:=False

    Workbooks(MyFile).Close True

    Application.ScreenUpdating = True

    MyFile = Dir

Loop While MyFile <> ""

End If

End Sub

fcafa69e5018fb3bffad6d8e15ec495b.png

关注巨盒创意微信公众号,免费学习更多精品教程,高效、便捷办公。

a1f05d69987748d04f3abfa8888a3c8a.gif

 End

44f8938d4ecc5644b40e5fe0ae25278d.gif

Logo

前往低代码交流专区

更多推荐