Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将Eclipse NAT表导出到CSV/Excel_Java_Eclipse_Excel_Export_Nattable - Fatal编程技术网

Java 将Eclipse NAT表导出到CSV/Excel

Java 将Eclipse NAT表导出到CSV/Excel,java,eclipse,excel,export,nattable,Java,Eclipse,Excel,Export,Nattable,我目前正在从事一个使用nat表向用户显示数据的项目。我想添加一个选项,将此nat表导出到csv文件或excel文档。是否有一种简单的方法可以导出到excel,或者我必须找到一种手动方式?如果我必须“艰难地”完成这项工作,有人能告诉我什么地方可以帮助我开始导出到Excel吗 谢谢。对于excel的读/写,您可以使用Apache POI 有关如何开始使用ApachePOI的信息,请参阅可能会有所帮助。NatTable本身带有一个默认的Excel导出器 exporter类是ExcelExporter(

我目前正在从事一个使用nat表向用户显示数据的项目。我想添加一个选项,将此nat表导出到csv文件或excel文档。是否有一种简单的方法可以导出到excel,或者我必须找到一种手动方式?如果我必须“艰难地”完成这项工作,有人能告诉我什么地方可以帮助我开始导出到Excel吗


谢谢。

对于excel的读/写,您可以使用Apache POI


有关如何开始使用ApachePOI的信息,请参阅可能会有所帮助。

NatTable本身带有一个默认的Excel导出器

exporter类是
ExcelExporter
(在包org.eclipse.nebula.widgets.nattable.export.excel中)

一种简单的方法是使用
ExportCommand
(在org.eclipse.nebula.widgets.nattable.export.command包中)。对于默认绑定,这将生成一个文件选择器,用户可以在其中指定*.xls文件

ExportCommand cmd = new ExportCommand( m_table.getConfigRegistry(), m_table.getShell());
m_table.doCommand( cmd );

对于我的系统上的版本NatTable 0.9,打开文件时,Excel会显示一条警告,指出该文件的格式与文件扩展名指定的格式不同

NatTable已经提供了一个基于ApachePOI的Excel导出器。为此,您需要将POI扩展从NatTable项目添加到您的项目中

这样,您就有机会使用HSSFExcelExporter,它可以生成有效的Excel文件(默认的ExcelExporter只创建XML格式),并且还可以进行其他配置

configRegistry.registerConfigAttribute(ExportConfigAttributes.EXPORTER, new HSSFExcelExporter());

谢谢,这将满足我的要求。这是否允许在不保存工作簿的情况下直接打开工作簿?这将导出到一个文件,然后可以在Excel中手动打开该文件。它不会自动启动Excel。好的。我目前实现了Mehul建议的功能,基本上与此功能相同。我猜这样做会减少所需的依赖性。如果我从头开始,我会从需要最少工作量的实现开始。如果你已经实现了一些有效的东西,并且你对它感到满意,那么保留它是合理的。Apache实现可能还有其他好处—例如,请参阅我关于上面Excel警告的说明。最后,请注意,您可以通过调用configRegistry.registerConfigAttribute(ILayerExporter.CONFIG_属性,new YourExcelExporter())对导出器使用ExportCommand,其中YourExcelExporter是一个ILayerExporter。是的,我的意思是。。我想我的方式不是最好的。我有点在列和事实之间循环,然后将每个val推送到excel的一个单元格中。。我不确定这是否“糟糕”,但这是我想的唯一方法。但它确实奏效了。对我来说,“强大”似乎不是一个中立的说法。对stackoverflow发表固执己见是可以的,但如果它涉及到您的产品,您必须这样做。对不起,我不想为NatTable做广告。所以我把这个词从我的答案中去掉。