Excel導入單元格顏色我在 Excel 導入中使用了導入單元格顏色,因為我的客戶對應包含或排除的單元格進行了著色。顏色導入正常,但我還沒有找到一種簡單的方法來訪問單元格的顏色狀態以排除這些單元格。我發現的唯一解決方法是獲取列腳本並解析出行號。恐怕這可能不太可靠。有沒有直接讀取單元格顏色的函數?請注意,導入單元格顏色不會更改行狀態或設置列的任何顏色屬性。
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));回复:Excel導入單元格顏色這僅供博客讀者參考,並不擅長剝離表達式的論點。
如果您需要獲取任何 JMP 數據表的列中彩色單元格的行號(和顏色),並且還有與該列關聯的其他屬性,則“顏色單元格”不是第四個參數。
附件是示例數據表 Big Class.jmp,其中列年齡以及 2 組彩色單元格(紅色和藍色)。 下面是一個可以應用於任何列的函數,並以應用於 :age 列的示例為例。
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); 回复:Excel導入單元格顏色正如您所說,我知道檢索單元格顏色的唯一方法是重新檢索該列的腳本。我在 JMP 14 中沒有發現這方面的任何變化。