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

After Effects脚本开发:如何使用CSV数据填充dropdownlist下拉列表

AE脚本读取CSV填充下拉列表实现代码

完整可运行代码

// 创建窗口
var win = new Window("dialog", "CSV填充下拉列表示例", [100, 100, 400, 250]);
// 创建下拉列表控件
var dropdown = win.add("dropdownlist", [20, 20, 260, 40], []);
// 选择CSV文件按钮
var selectBtn = win.add("button", [20, 60, 180, 90], "选择CSV文件");
// 确认按钮
var confirmBtn = win.add("button", [200, 60, 280, 90], "确认");

// CSV解析函数(简单适配无内嵌逗号的常规CSV)
function parseCSV(file) {
    if(!file.exists) return [];
    file.open("r");
    var content = file.read();
    file.close();
    // 按换行拆分所有行
    var lines = content.split(/\r?\n/);
    var result = [];
    for(var i = 0; i < lines.length; i++) {
        var trimLine = lines[i].trim();
        if(trimLine === "") continue;
        // 按逗号拆分单元格,默认取第一列内容填充下拉,可修改索引取其他列
        var cells = trimLine.split(",");
        result.push(cells[0].trim());
    }
    return result;
}

// 选择CSV按钮点击事件
selectBtn.onClick = function() {
    var csvFile = File.openDialog("选择CSV文件", "*.csv", false);
    if(!csvFile) return;
    var csvData = parseCSV(csvFile);
    // 清空原有下拉选项
    dropdown.removeAll();
    // 填充新数据到下拉列表
    for(var j = 0; j < csvData.length; j++) {
        dropdown.add("item", csvData[j]);
    }
    // 有数据时默认选中第一项
    if(csvData.length > 0) dropdown.selection = 0;
}

// 确认按钮点击事件,可在此处扩展选中后的业务逻辑
confirmBtn.onClick = function() {
    if(dropdown.selection) {
        alert("当前选中项:" + dropdown.selection.text);
    }
    win.close();
}

// 显示窗口
win.show();

关键逻辑说明

  • 文件读取:使用AE ExtendScript原生File对象的openDialog方法让用户选择本地CSV文件,无需额外权限
  • CSV解析:示例为简易实现,适配无内嵌逗号、引号的常规CSV文件,如果你使用的CSV格式复杂,可自行替换parseCSV函数的解析逻辑
  • 下拉列表操作:调用removeAll清空原有选项,调用add方法逐个添加新选项即可完成填充

使用注意事项

  • 如果你的CSV第一行是表头不需要填充到下拉,可在parseCSV函数的循环中跳过i=0的第一行
  • 如果需要取CSV的其他列填充下拉,修改cells[0]的索引即可,比如取第二列改为cells[1]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 05:39:03