You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R/Python中读取或批量转换.xlw格式Excel 4文件?

批量转换Excel 4 .xlw文件的解决方案

R 方案

使用 RDCOMClient 调用Excel自动化

若你的Windows系统安装了Microsoft Excel,可通过COM接口批量转换文件——这是最可靠的方式,因为Excel原生支持.xlw格式:

library(RDCOMClient)

# 设置文件夹路径
input_dir <- "path/to/your/xlw/files"
output_dir <- "path/to/save/converted/files"

# 获取所有.xlw文件
xlw_files <- list.files(input_dir, pattern = "\\.xlw$", full.names = TRUE)

# 初始化Excel应用
excel_app <- COMCreate("Excel.Application")
excel_app[["Visible"]] <- FALSE  # 后台运行,不显示窗口
excel_app[["DisplayAlerts"]] <- FALSE  # 关闭警告提示

# 批量转换
for (file in xlw_files) {
  wb <- excel_app[["Workbooks"]]$Open(file)
  # 保存为.xlsx格式,也可改为"Excel97-2003 Workbook (*.xls)"存为xls
  output_path <- file.path(output_dir, paste0(tools::file_path_sans_ext(basename(file)), ".xlsx"))
  wb$SaveAs(output_path, FileFormat = 51)  # 51对应.xlsx格式
  wb$Close()
}

# 关闭Excel
excel_app$Quit()
rm(excel_app)
gc()

注意:需先安装RDCOMClient包,Windows下可通过install.packages("RDCOMClient")安装,仅支持Windows系统。

Python 方案

使用 pywin32 调用Excel自动化

同样依赖Windows系统的Microsoft Excel,逻辑和R方案一致:

import os
import win32com.client as win32

input_dir = "path/to/your/xlw/files"
output_dir = "path/to/save/converted/files"

# 创建输出文件夹(若不存在)
os.makedirs(output_dir, exist_ok=True)

# 初始化Excel应用
excel = win32.Dispatch("Excel.Application")
excel.Visible = False
excel.DisplayAlerts = False

# 遍历所有xlw文件
for filename in os.listdir(input_dir):
    if filename.lower().endswith(".xlw"):
        file_path = os.path.join(input_dir, filename)
        wb = excel.Workbooks.Open(file_path)
        # 构造输出路径,保存为xlsx
        output_filename = os.path.splitext(filename)[0] + ".xlsx"
        output_path = os.path.join(output_dir, output_filename)
        # 51对应xlsx,56对应xls
        wb.SaveAs(output_path, FileFormat=51)
        wb.Close()

# 关闭Excel
excel.Quit()
del excel

安装依赖:pip install pywin32,仅支持Windows系统。

跨平台方案:使用 libreoffice 命令行

若使用Linux/macOS,或不想依赖Excel,可借助LibreOffice的命令行工具批量转换,完全免费且跨平台:

  1. 先安装LibreOffice(官网下载免费版本)
  2. 打开终端运行对应命令:
# Linux/macOS
libreoffice --headless --convert-to xlsx --outdir /path/to/output/dir /path/to/input/*.xlw

# Windows(命令提示符)
"C:\Program Files\LibreOffice\program\soffice.exe" --headless --convert-to xlsx --outdir "C:\path\to\output\dir" "C:\path\to\input\*.xlw"

注意:LibreOffice对旧格式的兼容性略逊于Excel,若部分文件转换异常,优先使用Excel自动化方案。

免费软件方案

  • LibreOffice Calc:除命令行批量转换外,也可手动导入单个文件后保存,但批量处理推荐用命令行模式。
  • Gnumeric:开源电子表格软件,支持导入.xlw格式,可通过脚本或批量操作完成转换(部分系统默认预装,或官网免费下载)。

内容的提问来源于stack exchange,提问作者Irgendniemand

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 08:45:46