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

PowerShell脚本求助:统计XLSX行数与金额并实现文件重命名

完成PowerShell处理XLSX文件的脚本开发

首先,PowerShell原生不支持直接解析XLSX文件,我们需要用到ImportExcel模块,先安装它:

Install-Module -Name ImportExcel -Scope CurrentUser -Force

以下是完整的脚本,包含你需要的所有功能:

# 指定原始文件路径(如果文件不在当前目录,写完整绝对路径)
$originalFilePath = ".\DOM-TEST-JJMMYYYY.xlsx"

# 读取第一个工作表的数据(自动跳过表头)
$sheetData = Import-Excel -Path $originalFilePath -WorksheetIndex 0

# 计算有效行数(无前置零,转字符串时自动去除)
$rowCount = $sheetData.Count
$rowCountStr = "$rowCount"

# 计算Amount列的四舍五入总和(保留两位小数)
$totalAmount = [math]::Round(($sheetData | Measure-Object -Property Amount -Sum).Sum, 2)
$totalAmountStr = "$totalAmount"

# 拼接符合要求的新文件名
$newFileName = "DOM-TEST-JJMMYYYY-$rowCountStr-$totalAmountStr.xlsx"

# 执行文件重命名
Rename-Item -Path $originalFilePath -NewName $newFileName

# 输出处理结果提示
Write-Host "处理完成,新文件名:$newFileName"

关键步骤说明

  • 读取Excel数据:Import-Excel会自动识别表头,$sheetData存储的是所有数据行,因此Count值就是排除表头后的实际数据行数
  • 去除前置零:将数字转为字符串时,PowerShell会自动剔除前置零,比如数字000456转字符串后直接变为456
  • 金额四舍五入:用[math]::Round()指定保留两位小数,确保总和格式符合要求
  • 重命名操作:直接调用Rename-Item完成,注意如果文件不在当前执行目录,必须在$originalFilePath中填写完整路径

注意事项

  1. 如果Amount列存在非数值内容,脚本会报错,建议提前清理数据,或者添加错误捕获逻辑
  2. 首次执行PowerShell脚本可能遇到执行策略限制,可执行Set-ExecutionPolicy RemoteSigned -Scope CurrentUser解除限制(执行后选Y确认)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 22:36:33