Excel importa i colori delle celleHo utilizzato i colori delle celle di importazione nell'importazione di Excel perché ho clienti che colorano le celle che dovrebbero essere incluse o escluse.I colori vengono importati correttamente ma non ho trovato un modo semplice per accedere allo stato del colore della cella per escludere quelle celle.L'unica soluzione alternativa che ho trovato è ottenere lo script delle colonne e analizzare i numeri di riga.Temo che questo potrebbe non essere molto affidabile.Esistono funzioni per leggere direttamente il colore della cella?Si noti che i colori delle celle di importazione non modificano gli stati della riga né impostano alcuna proprietà del colore per la colonna.
dt = Open(
"Data.xlsx",
Worksheets( "Sheet1" ),
Use for all sheets( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 2 ),
Data Starts on Row( 3 ),
Data Starts on Column( 1 ),
Data Ends on Column( 1 ),
Import Cell Colors( 1 )
)
);
Rlist = {};
t = arg(arg((:SubjectID << get script),4),1);
for(i=1,i<=narg(t),i++,insert into(Rlist, arg(arg(t,i),2))); //the first arg is the colour the second the list of rows
dt1 = dt << subset(rows(Rlist));Re: excel importare i colori delle celleQuesto è solo un FYI per i lettori del blog, non così abili a sbucciare gli argomenti di un'espressione.
Se è necessario ottenere i numeri di riga (e il colore) delle celle colorate in una colonna di qualsiasi tabella dati JMP, Celle colore non è il quarto argomento se sono presenti altre proprietà associate alla colonna.
In allegato è riportata la tabella di dati di esempio Big Class.jmp con l'età della colonna con 2 set di celle colorate (rosso e blu). E sotto c'è una funzione che può essere applicata a qualsiasi colonna con un esempio applicato alla colonna :età.
CellColors = Function({colnme}, {ccol, cjsl, i, targ, clr={}, found=0},
ccol = column(current data table(), colnme);
cjsl = ccol << get script;
//show(cjsl);
for(i=1, i<=N Arg(cjsl) & found==0, i++,
targ = Arg Expr(cjsl, i);
//show(i, HeadName(targ));
if(Head Name(targ) == "Color Cells", found=1; )
);
for(i=1, i<=N Arg(targ), i++,
insert into(clr, Arg Expr(targ,i))
);
clr
);
clrList = CellColors("age");
show(clrList); Re: excel importare i colori delle celleL'unico modo che conosco per recuperare i colori delle celle è recuperare lo script per la colonna, come hai affermato.Non ho trovato alcun cambiamento per questo in JMP 14.