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

如何用PowerShell将Excel多列内容合并为指定格式的单列

PowerShell 合并Excel多列方案

我们使用社区广泛使用的ImportExcel模块实现需求,无需本地安装Office即可运行。

1. 安装依赖模块

打开管理员权限的PowerShell窗口,执行如下命令安装模块:

Install-Module -Name ImportExcel -Scope CurrentUser -Force

首次安装若提示信任PSGallery仓库,输入Y确认即可。

2. 合并列脚本

以下为可直接修改使用的脚本示例:

# 导入依赖模块
Import-Module ImportExcel

# 基础配置项,按需修改即可
$sourceExcelPath = "替换为你的源Excel文件绝对路径"
$outputExcelPath = "替换为输出结果的Excel文件路径"
# 填写要合并的列的表头名称,顺序和下方合并模板的占位符一一对应
$mergeColumns = @("姓名", "部门", "工号")
# 合并格式模板,{0}对应上面数组第一个列,{1}对应第二个,以此类推
$mergeTemplate = "{0} - {1}(工号:{2})"
# 合并后的新列的列名
$newColumnName = "合并结果"

# 读取源Excel数据
$excelContent = Import-Excel -Path $sourceExcelPath

# 逐行合并指定列
$processedContent = $excelContent | ForEach-Object {
    $valueList = $mergeColumns | ForEach-Object { $_.$_ }
    $_ | Add-Member -MemberType NoteProperty -Name $newColumnName -Value ($mergeTemplate -f $valueList) -PassThru
}

# 导出结果到新Excel
$processedContent | Export-Excel -Path $outputExcelPath -AutoSize -Show

3. 自定义调整说明

  • 需要合并更多列时,直接往$mergeColumns数组中添加对应表头名称,同时在$mergeTemplate中按序号新增{n}占位符即可
  • 如果你的Excel没有表头,在Import-Excel命令后添加-NoHeader参数,系统会自动将列命名为Column1、Column2,直接把这些自动生成的列名填入$mergeColumns即可
  • 若需要直接修改原Excel文件,将$outputExcelPath设置为和$sourceExcelPath相同的路径即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 00:54:01