如何将composer outdated命令结果导出至Excel或CSV文件?
把Composer Outdated结果导出到Excel/CSV的几种方法
方法1:用Composer自带的格式化输出(最简单)
Composer本身支持直接输出CSV或JSON格式的过时包信息,不需要额外工具:
- 导出为CSV文件:
在终端执行:
执行完后,你可以直接用Excel打开生成的composer outdated --format=csv > outdated-packages.csvoutdated-packages.csv文件,所有字段会自动对应到表格列。 - 导出为JSON再转Excel:
如果需要先存为JSON格式,执行:
然后打开Excel,通过「数据」选项卡 →「获取数据」→「来自文件」→「来自JSON」导入这个文件,Excel会自动解析成表格。composer outdated --format=json > outdated-packages.json
方法2:用命令行工具处理默认输出(适配旧版Composer)
如果你的Composer版本不支持--format参数(比如2.0之前的旧版本),可以用awk这类命令行工具提取并格式化输出:
composer outdated | awk 'NR>1 { pkg = $1; current = $2; latest = $3; desc = ""; for(i=4; i<=NF; i++) desc = desc $i " "; gsub(/ $/, "", desc); print pkg "," current "," latest "," "\"" desc "\"" }' > outdated-packages.csv
这个命令会跳过第一行的表头,把包名、当前版本、最新版本用逗号分隔,描述部分用双引号包裹(避免描述里的逗号破坏CSV格式),最后输出到CSV文件。
方法3:手动复制粘贴+Excel分列
如果不想用命令行,也可以手动操作:
- 在终端执行
composer outdated,选中所有输出内容(注意跳过开头的提示行),复制到剪贴板。 - 打开Excel,粘贴到空白工作表的A1单元格。
- 选中粘贴的内容,点击「数据」选项卡 →「分列」,选择「分隔符号」,下一步勾选「空格」,并勾选「连续分隔符视为单个」,完成后就能把各字段分到不同列里。
内容的提问来源于stack exchange,提问作者James Anderson
相关产品推荐
相关产品推荐

