Excel-Zellenfarben importierenIch habe beim Excel-Import Importzellenfarben verwendet, weil ich Kunden habe, die Zellen einfärben, die ein- oder ausgeschlossen werden sollten.Die Farben werden problemlos importiert, aber ich habe keine einfache Möglichkeit gefunden, auf den Farbstatus der Zelle zuzugreifen, um diese Zellen auszuschließen.Die einzige Problemumgehung, die ich gefunden habe, besteht darin, das Spaltenskript abzurufen und die Zeilennummern auszuwerten.Ich befürchte, dass dies möglicherweise nicht sehr zuverlässig ist.Gibt es Funktionen, um die Farbe der Zelle direkt auszulesen?Beachten Sie, dass die Farben der importierten Zellen weder den Zeilenstatus ändern noch Farbeigenschaften für die Spalte festlegen.
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));Betreff: Excel-Zellenfarben importierenDies ist nur eine Information für die Leser des Blogs, die nicht so geschickt darin sind, die Argumente eines Ausdrucks zu entschlüsseln.
Wenn Sie die Zeilennummern (und die Farbe) farbiger Zellen in einer Spalte einer beliebigen JMP-Datentabelle abrufen müssen, ist „Color Cells“ nicht das vierte Argument, wenn der Spalte andere Eigenschaften zugeordnet sind.
Im Anhang finden Sie die Beispieldatentabelle „Big Class.jmp“ mit der Spalte „Alter“ und zwei Sätzen farbiger Zellen (rot und blau). Und unten ist eine Funktion, die auf jede Spalte angewendet werden kann, mit einem Beispiel, das auf die Spalte :age angewendet wird.
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); Betreff: Excel-Zellenfarben importierenDie einzige mir bekannte Möglichkeit, die Zellenfarben abzurufen, besteht darin, das Skript für die Spalte erneut abzurufen, wie Sie angegeben haben.Ich habe in JMP 14 keine Änderung hierfür gefunden.