nanning0697 发表于 2024-3-31 18:10

futinglong 发表于 2024-3-31 19:46

转存一个 不限速网盘https://wwi.lanzoup.com/ikkDD1tbgvze

stiller 发表于 2024-3-31 18:58

Office的VBA,WPS可能需要改一下语法。

Sub csv_to_xlsx()

    '自行修改输入,输出路径;

    Application.ScreenUpdating = False

    inpath = "C:\桌面\测试文件"
    outpath = "C:\桌面\输出文件\"
   
    With Application.FileDialog(msoFileDialogFilePicker)
            .InitialFileName = inpath
            .Filters.Add "Csv Files", "*.csv"
            .Filters.Add "Excel Files", "*.xls;*.xlsx;*.xlsb;*.xlw"
            .Show

            MsgBox "您选择了" & .SelectedItems.Count & "个文件"

            For Each i In .SelectedItems
                'MsgBox i
                Workbooks.Open ("" & i)
                If InStr(Dir(i), n) > 0 Then
                  Name = Left(Dir(i), InStrRev(Dir(i), ".") - 1)
                  ActiveWorkbook.SaveAs Filename:=outpath & Name & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
                  ActiveWindow.Close
                End If
            Next
            
    End With
    Application.ScreenUpdating = True
    MsgBox "处理完成,输出路径为:" & outpath

End Sub

BrokenChild 发表于 2024-3-31 19:18

很实用啊,正好需要。
感谢楼主。

zimingme 发表于 2024-3-31 19:37

很实用啊,正好需要。
感谢楼主。

lisongmei 发表于 2024-3-31 19:39

我也有个哇,看到了就一起分享下,python的
import os,shutil
from openpyxl import load_workbook
path_csv_dir=r'C:\桌面\测试文件'
path_xlsx_dir=r'C:\桌面\输出文件'
for pt in os.listdir(path_csv_dir):
        if pt.endswith('.csv'):
                sr_new=pt.replace('.csv',".xlsx")
                old_path=os.path.join(path_csv_dir,pt)
                new_path=os.path.join(path_xlsx_dir,sr_new)
                shutil.copy(old_path,new_path)

LSLS1997 发表于 2024-3-31 19:55

感谢楼主

sadffg 发表于 2024-3-31 19:56

CSV不就是Excel文件吗?互相打开的吧

xxp2277 发表于 2024-3-31 20:00

lisongmei 发表于 2024-3-31 19:39
我也有个哇,看到了就一起分享下,python的
import os,shutil
from openpyxl i ...

感谢分享。

bianchch 发表于 2024-3-31 20:27

VBA实现,练手挺好
但是感觉这个功能有很多现成的小工具?
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 批量将CSV文件转换为Excel文件工具