原始 MediaWiki 页面

我知道编辑这个网站吗?

读取和写入 Excel

自迁移出 MediaWiki 以来,本页内容尚未经过审查。如果您愿意帮忙,请查看帮助指南

简介

默认情况下,此插件从结果表中提取数据并将其添加到用户桌面上 .xlsx Excel文件中的工作表选项卡“A”中。如果该文件不存在,该插件将在桌面上创建一个名为“写入完成后重命名我”的文件,如果该文件已创建,则该插件将更新该文件。数据将添加到最新的工作表(如果文件是新的,则创建为“A”)或使用输入的参数添加添加到用户指定的工作表(见下文)。在最新的工作表中,数据将添加到以前的数据附近,无需提交参数即可将数据仓库添加到先前存在的列标题和数据下方。结果表列标题会自动添加。但默认情况下会添加行参数,统计用户选择使用提交的来拒绝此操作。

在 Eclipse IDE 中创建。需要 jre 1.8,它与当前的 ImageJ 兼容。

版本发布日期表
版本 发布日期 笔记  
v1.0.0 2015年11月19日    
v1.0.1 2015年11月25日    
v1.0.2 2017年4月10日    
v1.1.0 2018年2月27日 此版本包含许多由Brenden Kromhout 添加的新功能
v1.1.1 2018年7月2日    
v1.1.2 2018年11月4日    
v1.1.3 2019 年 1 月    
v1.1.4 2019年4月17日    
v1.1.5 2019年11月30日    
v1.1.6 2020年5月20日    
v1.1.7 2020年9月26日    

用法

YouTube教程:

可以使用以下宏从宏调用该插件:

run("Read and Write Excel");

它与批处理配合得很好。 v1.1.0 的一个主要变化是,如果调用方式不同(见下文),该插件现在可以更好地处理随着时间的结束而变大的大型数据集和/或 excel 文件。

默认情况下,最近打开图像的标题会添加为导出结果数据的标签,但可以通过传递的参数进行更改。

可选参数

股东第二个参数字符串解析参数,如下所示。

dataset_label= 在Excel文件中数据上方的单元格中写入的标签。字符串和数字也可以从宏/循环输入到自定义标题修饰符:

run("Read and Write Excel", "dataset_label=[My new results data label]");
//example with passed variable 'i'
run("Read and Write Excel", "dataset_label=Table"+i);

no_count_column防止插件自动添加“统计”列:

run("Read and Write Excel", "no_count_column");

stack_results 使插件将结果数据导出到先前存在的数据底部(而不是相邻顺序)。注意:现在多个数据的数据集标签将是为最近导入确定的:

run("Read and Write Excel", "stack_results");

file=要创建和/或更新Excel文件的路径(否则使用默认桌面文件):

run("Read and Write Excel", "file=[C:/Users/antinos/Desktop/My_file.xlsx]");

sheet=将结果放入Excel文件中的哪个工作表。例如,sheet=banana将创建和/或附加名为banana的工作表:

run("Read and Write Excel", "sheet=banana");

按如下方式连接参数:

run("Read and Write Excel", "no_count_column file=[C:/Users/antinos/Documents/My_cool_file.xlsx] sheet=[Custom name here] dataset_label=[Custom data title here]");

###大数据导入导出

file_mode=这需要稍微不同的调用插件的方式,但对于预期的大型数据集非常有用。有三个选项。

file_mode=read_and_open仅将Excel文件加载/打开到计算机内存中(您使用file=指定的文件)…完成后请确保执行write_and_close,否则会遇到问题:

run("Read and Write Excel", "file=[C:/Users/antinos/Documents/My_cool_file.xlsx] file_mode=read_and_open");

file_mode=queue_write在使用之前将要写入的内容队列放到您的位置read_and_open:打开的Excel文件中

run("Read and Write Excel", "file_mode=queue_write");

file_mode=write_and_close将写入您使用queue_write,队列的所有内容,然后关闭Excel文件:

run("Read and Write Excel", "file_mode=write_and_close");

大数据宏工作流程示例:

//macro to read and write large datasets

//open or create the .xlsx file we want to add data to
run("Read and Write Excel", "file=[C:/Users/antinos/Documents/My_cool_file.xlsx] file_mode=read_and_open");

//add multiple and/or large datasets
///do macro analysis and generate a big results table
run("Read and Write Excel", "file_mode=queue_write");
///do macro analysis and generate a big results table
run("Read and Write Excel", "file_mode=queue_write");
///do macro analysis and generate a big results table
run("Read and Write Excel", "file_mode=queue_write");
///do macro analysis and generate a big results table
run("Read and Write Excel", "file_mode=queue_write");
//for example in a loop
for (i = 0; i < 100; i++) {
    //macro code here
    run("Read and Write Excel", "file_mode=queue_write");
}

//finally write the queued results data to the file
run("Read and Write Excel", "file_mode=write_and_close");

另请参阅 Read_and_Write_Excel_Modified 的示例。 (但请注意:虽然 Brenden 在更新 1.1 版本的插件方面做得非常出色,但最新版本目前自动出现在他的 github 存储库中)

免责声明和许可内容

我知道存在另一个 Excel_Writer 插件,但它对我来说效果不佳(因此我创建了这个)。我没有调查他们的源代码,但确实从他们那里找到了 Apache POI(*)。

自从 Brenden 有了插件之后,代码现在整洁了很多。欢迎根据您的需求进行咨询。

(*)此插件使用 Apache POI api,该 API 根据 Apache 许可证条款发放(可从 https://poi.apache.org/legal.html 获取)。我相信这个软件是免费和开源的。

插件技术细节

更改日志

(点击展开)

1.0.1版本变化:

  1. 包不会因为依赖.jar 文件而增加风险。 2.现在包含源代码提供参考。 3.删除了平台规范,因为我相信这个插件可以跨操作系统工作。

1.0.2版本变化:

  1. 允许删除了旧功能,该功能将数据以单行字符串形式提供给插件的“arg”函数 2.,所有数据都以字符串/文本形式导出到生成的电子表格中。这是次优的,因为单元格现在需要转换回电子表格中的数字格式,但需要立即修复插件正确无法处理字符串数据(当它存在于结果表中时)的问题 3.将参数行的旧数据导入功能(上面的注释1)替换为允许用户为每次导入提供的标题;该参数现在接受一个字符串标题(例如“这是我的新标题”),然后在导出时用于标记结果。

1.1.0版本变化:

  1. Brenden Kromhout 添加了上面提到的可选参数功能,并在他的 GitHub 存储库中进行了描述 2.导入.xlsx文件的数据现在会自动识别为文本或数字 3.现在每次导出都可以看imageJ详细条
  2. 现在使用最新的 Apache POI 版本 (3.17)

1.1.1版本变化:

  1. 修复了如果结果表的“标签”列包含空单元格,插件将无法导出数据的错误。现在,导出时空单元格将替换为“空”字符串/文本。

1.1.2版本变化:

  1. 添加了一个参数,以便可以导出结果数据,并显示在创建/修改的 .xlsx 文件中预先存在的数据下方。要实现此功能,请使用参数stack_results调用插件。

1.1.3版本变化:

1.错误修复。在插件处理空单元格(来自“标签”列)后,使用stack_results参数导出的结果数据被引用错误。当它们出现时,这些空单元现在可以得到更好的处理。

1.1.4版本变化:

1.错误修复。标签列问题已修复。标签数据未​​导出;现在是。

1.1.5版本变化:

1.错误修复。现在,当存在非标签列空单元格时,可以继续导出。

1.1.6版本变化:

1.错误修复。修复了罕见的stack_results问题:如果结果表和Excel文件都包含单行数据,则数据导出不正确。

1.1.7版本变化:

1.新增功能。cell_ref参数现在允许将数据导入到指定的单元格。来自 Stein Rørvik (steinr) 的用户请求。注意:该插件不会检查数据是否已存在于指定位置,因此可以进行覆盖。列标题也不随数据一起导出。

依赖关系

|依赖| Maven仓库| |—|:-:| | 罐子/commons-collections4.jar | 1| |罐子/xmlbeans.jar | 2 | |罐子/poi-ooxml.jar | 3| |罐子/poi-ooxml-schemas.jar | 4 | | 罐子/poi.jar | 5 | | 罐子/ij.jar | 6 |

更新站点

http://sites.imagej.net/ResultsToExcel

安装

-打开ImageJ,导航至Update…

  • 在出现的下拉菜单中,然后选择Help
  • 允许ImageJ检查更新
  • 如果需要,根据提示下载更新并重新启动ImageJ
  • 重复前两个步骤 = HelpUpdate… -这次 ImageJ 应该让你知道没有可用的更新
  • 单击“确定”,但不要关闭同时打开的“ImageJ Updater”窗口
  • 在“ImageJ Updater”窗口的左下角,找到并单击“管理更新站点”
  • 在新出现的“管理更新站点”窗口中,找到并选中“ResultsToExcel”表单
  • 然后关闭“管理更新站点”窗口
  • “ImageJ Updater”窗口现在将向您显示用于安装的插件文件
  • 点击“应用更改”
  • 更新成功应用后,重新启动ImageJ