Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

292
Visualizações
Cómo leer datos .xlsx y enviarlos a la matriz en el script .js para Photoshop

Cómo leer datos .xlsx y enviarlos a la matriz en el script .js para photoshop defaultkrt0iuh8hlot

Estoy construyendo algo de automatización para el trabajo y he alcanzado mi límite de conocimiento cómodo en secuencias de comandos.

Tengo un archivo .xlsx donde:

la columna A1 a A20 representa un diseño que hemos creado.

la columna B1 a B20 contiene listas de plantillas de fondo de color para cada diseño en la columna A:

Mi documento de Excel

También tengo una carpeta con archivos .png cuyos nombres de archivo coinciden exactamente con los nombres dados en la columna A.

Mi secuencia de comandos utiliza el procesamiento por lotes de Photoshop para abrir un archivo (por ejemplo: XY-111.png) a la vez en esa carpeta,

coloque ese .png en todas las plantillas (por ejemplo, Temp1, Temp3, Temp5) y guarde cada una como .jpg (usando un script diferente).

Captura de pantalla del código VS

El código anterior FUNCIONA, pero en lugar de

excelArray.push(Temp1, Temp2, Temp3)

Quiero enviar los datos de la columna B a la matriz SOLO si app.documents[0] coincide con la columna A.

/////////////////////////////////////////////////// /////////////////////////////////////////////////

El código:

 #target photoshop var Temp1 = "/Temp1.psd" var Temp2 = "/Temp2.psd" var Temp3 = "/Temp3.psd" var Temp4 = "/Temp4.psd" var Temp5 = "/Temp5.psd" var Temp6 = "/Temp6.psd" var Temp7 = "/Temp7.psd" var Temp8 = "/Temp8.psd" var Temp9 = "/Temp9.psd" var Temp10 = "/Temp10.psd" var picForSim = app.documents[0]; var excelArray = []; excelArray.push(Temp1, Temp2, Temp3); for (var i = 0; i < excelArray.length; i++){ if (picForSim.name.charAt(0) === "W"){ //alert(excelArray[i]) app.open(new File(excelArray[i])); app.doAction(("WGARMENTS-ArtPlace"), ("ProductActions.ATN")) } else { //alert(excelArray[i]) app.open(new File(excelArray[i])); app.doAction(("GARMENTS-ArtPlace"), ("ProductActions.ATN")) } }

/////////////////////////////////////////////////// /////////////////////////////////////////////////// ////////////////

Tomé un tutorial de node.js y siento que entiendo el concepto de obtener datos de Excel, pero tengo algunos problemas para conectar los puntos y obtener la información en mi secuencia de comandos.

¡Cualquier ayuda sería apreciada!

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Si su archivo .xlxs se exporta como .csv, se verá así:

 WXY-111,"Temp1, Temp2, Temp3, Temp4" WXY-222,"Temp2, Temp3, Temp4, Temp5" WXY-333,"Temp3, Temp4, Temp5, Temp6" YX-111,"Temp4, Temp5, Temp6, Temp7" XY-222,"Temp5, Temp6, Temp7, Temp8" XY-333,"Temp6, Temp7, Temp8, Temp9"

Puedes leer el archivo de texto en Photoshop de esta manera

 // Reference to the csv file var csvFile = "D:\\temp\\mycsv.csv"; // change this! // automatically read in first file var theFile = new File(csvFile); //read in file var csvArr = []; // array to store CSV var l = 0; var csvFile = new File(theFile); csvFile.open('r'); while(!csvFile.eof) { var line = csvFile.readln(); if (line != null && line.length >0) { csvArr[l++] = line; } } csvFile.close(); // create an array so we can use the data var textArr = []; var msg = ""; for (var i = 0; i< csvArr.length; i++) { var line = csvArr[i]; var aStr = line.slice(0, line.indexOf(",")); var bStr = line.slice(line.indexOf(",") + 1); // replace quotes with nothing bStr = bStr.replace(/\"/gm, ""); // split column b into seperate elements var sp = bStr.split(","); textArr.push([aStr, sp[0], sp[1], sp[2], sp[3]]); } // let's loop over the array and see what it says... for (var i = 0; i< textArr.length; i++) { for (var j = 0; j< textArr[i].length; j++) { msg += textArr[i][j] + " , "; } msg += "\n"; } alert(msg); // you can access the info like this: var data = textArr[4][1]; alert(data); // temp 5
about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda