0

我正在编写一个宏来创建一个如下所示的结果表:

名称 value1 value2
string1 number number
string2 number number

此时,如果我在循环中使用 getResultString("Name", 0) 命令,我会得到所需的结果(string1)。
但是,我需要保存表格并在稍后重新打开它。

如果我保存结果表,将其关闭并将其作为结果表导入,getResultString("Name", 0) 会给我“Null”作为答案。我尝试将其保存为 .txt、.csv 或 .xls 文件,但问题仍然存在。

重新导入的表看起来一样,但由于某种原因 getResultString 似乎不起作用。

任何指针?解决方法?

4

1 回答 1

1

您观察到的行为是一个错误。我能够使用以下宏重现它:

row = nResults;
dir = getDirectory("temp");

setResult("String", row, "xyz");
setResult("Number", row, 5.0);

// get results from new table
print(getResultString("String", 0));
print(getResult("Number", 0));

saveAs("Results", dir + "Results.xls");
open(dir + "Results.xls");

// get results from re-opened table
print(getResultString("String", 0));
print(getResult("Number", 0));

我提交了错误报告,还请阅读如何最好地报告ImageJ 中的错误。

更新:Wayne Rasband 在ImageJ 1.50c8中修复了该错误,并附注:

请注意,仅当第一列是非数字且所有其他列都是数字时,才会出现该错误。

于 2015-09-09T07:18:51.477 回答