集算器协助java合并批量文本到excel

原创 2015年11月20日 08:46:17

问题来源:http://bbs.csdn.net/topics/390842850 。

问题描述:把几千个txt文本里面的数据存取到Excel文件中去。txt文本中的数据都是很规范的,如下示例:
   文件夹 test   
   文件下文件名    a.txt,b.txt,c.txt等等  
   a.txt的内容是这样的  :
     数据A       数据B     数据C   

  需要将指定目录下的所有文本文件内容合并输出到一个Excel文件中,其中所有文本文件均由一行三列(以制表符分隔)的数据组成。

  JAVA在实现时需要循环读入该目录下所有文本,并将文本内容写到Excel文件中。但Java用于处理Excel的开源包(Apache的poi等)提供的支持过于底层,代码编写非常繁琐。

  集算器对poi进行了封装,实现起来非常简单:

 

A

1

=directory@p(“E:\\test”)

2

=A1.conj(file(~).import())

3

>file(“E:\\test\\result.xlsx”).exportxls(A2)

  A1:列出E:\\test目录下所有文件名,@p选项代表返回的文件名仍带有完整路径名

  A2:读取目录下所有文件后合并内容

  A3:将合并后的内容导出到xlsx格式Excel文件中(xlsx格式可以容纳100万行)。

  这段代码可以使用集算器提供的JDBC接口被java程序调用,在Java程序中使用esProc JDBC调用这段程序获得结果的代码如下:(将上述脚本保存为test.dfx):

    //建立esProc jdbc连接

    Class.forName(“com.esproc.jdbc.InternalDriver”);

    con= DriverManager.getConnection(“jdbc:esproc:local://”);

    //调用esProc程序(类似存储过程),其中test是dfx的文件名

    com.esproc.jdbc.InternalCStatement st =(com.esproc.jdbc.InternalCStatement)con.prepareCall(“call test()”);

    //执行esProc程序

    st.executeQuery();


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

通过集算器将excel数据按列合并

客户数据存在多个excel中,格式如下: 多个excel中前两列相同,第三列后是按照地区存储数据,但是不同的excel中地区可能不能,比如第一个excel中有上海,第二个中没有,现在...
  • rqgxy
  • rqgxy
  • 2017-04-12 09:28
  • 71

集算器协助java处理多样性数据源之HDFS

ava通过Hadoop提供的API访问HDFS不算困难,但针对其上文件的计算就比较麻烦。比如分组、过滤、排序等计算,用java来实现都比较复杂。集算器esproc能很好地协助java解决计算问题,同时...

用集算器实现文本比对

控制台命令、JAVA、pyton、perl都可以进行简单的文本比对,但这些工具不擅长集合运算、结构化运算,编写多线程代码较复杂,处理多字段对比、大文件对比、异构文件对比等情况时很繁琐。       ...

集算器中如何对excel字段关联取数

在集算器中,比对2张EXCEL,按姓名相关连,把2表中的部分数据取出来,导入到文件中excel样式如下:     最终关联效果如下: 难点:两个sheet页中姓名都有重复值,而...

集算器协助MongoDB计算之数位比较

Mongodb脚本解决复杂问题的计算能力有限,直接使用时较为吃力,很多情况下需要将数据读出后在主程序中进一步完成运算,而在Java等高级语言中编写这类集合式运算也比较麻烦。可以考虑用集算器esProc...

集算器协助SQL实现非等值分组

SQL通常只能按源表字段进行分组,如果分组依据来自另一张表、外部参数、条件列表,用SQL就很繁琐。有时分组依据需要动态生成,这些往往要借助高级语言实现。有时分组依据和源表不完全对应(或区间没有交集),...

集算器实现记录合并

问题来源:http://bbs.csdn.net/topics/390991336。   表1(T1)中存储了单独的id和name字段,部分源数据如下:   id    name  ...

用集算器解多元一次方程组

给出一个多元一次方程组,对于n个未知数,方程组中需要包含n个方程,如: 3x+4y+5z=26 5x+6y+10z=47 4x+8y+7z=41 那么,如何用集算器来求解这个多元一次方程组呢?...

集算器中SQL的使用

i数据库的连接与断开用SQL访问数据库,首先要连接到指定的数据库。连接数据库通常可以选择两种方式:在数据源设定中直接连接,或者在网格中调用函数连接。(缺图) A1=connect("EsProc")在...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)