<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />你好,
首先,我使用的是 JMP 11
我正在嘗試創建一個模板腳本,供我的分析師將來使用。 我是 JSL 新手,正在嘗試弄清楚如何在 JSL 中導入特定工作表,然後將特定變量修改為數字並添加新計算。
當我嘗試此代碼的導入部分時,它會打開導入嚮導,而不是創建一個名為“我們的數據”的新數據表。
--
dtmain = 新表("我們的數據",
打開("C:\測試數據.xlsx",
工作表(“最終數據”),
)
);
當前數據表(dtmain);
列(dtmain,“類型”)<<數據類型(數字)<<建模類型(序數)<<格式(最佳,12);
列(dtmain,“結果1)<<數據類型(數字)<<建模類型(連續)<<格式(最佳,12);
列(dtmain,“結果2”)<<數據類型(數字)<<建模類型(連續)<<格式(最佳,12);
新列(“結果比率”,
數字,
連續的,
格式(“最佳”,12),
公式( :結果1 / :結果2 )
);
作為替代方案,有函數“Pick File()”來選擇文件路徑中的特定文件,可以將其集成到 Open() 函數中:
Open(Pick File(
"Select JMP File",
"$DOCUMENTS",
{"JMP Files|jmp;jsl;jrn", "All Files|*"},
1,
0,
"newJmpFile.jmp"
),
Worksheets( "Sheet 1" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);或者其他可能性是將 Excel 文件命名為相同的名稱,以便腳本 Open() 可以與此特定名稱一起使用:
Open(
"C:\Desktop\ExcelFile.xlsx",
Worksheets( "Sheet1" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
您不能將工作表部分放在“打開”之外,因為它指的是要打開的文件。實際上沒有辦法為 JSL 中的常規打開指定默認設置。JSL 旨在打開具有已知名稱和設置的已知工作表。對不起。
布賴恩·科科倫
是的,謝謝! 我之前用之前的代碼嘗試過,它打開了一個只有一個空白列的數據表。 這樣做和上述代碼更改有效。
太感謝了!
讓 JSL 的文件打開部分正確的最簡單方法是首先使用 UI 和 Excel 嚮導打開文件。然後,在打開的表中,您將看到一個源腳本。該腳本包含以完全相同的方式重新打開表所需的 JSL。您可以右鍵單擊源腳本並選擇“編輯”以提取 JSL。我的表格中的一個例子是:
打開(
“C:\Testdata\excel\Excel 2007+\MultipleDiffSettings.xlsx” ,
工作表( 《行星》 ) ,
適用於所有板材( 1 ) ,
連接工作表( 0 ) ,
創建串聯列( 0 ) ,
1 ,
有列標題( 1 ) ,
標題中的行數( 1 ) ,
標題從行開始( 2 ) ,
數據從行開始( 3 ) ,
數據從列開始( 1 ) ,
數據在行上結束( 0 ) ,
數據在列上結束( 0 ) ,
複製跨行( 1 ) ,
抑制隱藏行( 1 ) ,
抑制隱藏列( 1 ) ,
視為層次結構( 0 )
));
不幸的是,它仍在打開 Excel 導入嚮導。 Excel 文件中有多個工作表(如果這會產生影響),但我認為“工作表”命令可以防止出現問題。
嘗試將打開和重命名命令分開:
主幹=打開( “C:\測試數據.xlsx” ,工作表( “最終數據” )) ;
主幹<<設置名稱( “我們的數據” ) ;