背景

因为项目需求。每一个星期须要统计每一个公众号7天的訪问数,月底就须要统计一个月的訪问数,40多个公众号。每次手动统计都须要花费1个小时,总之是一项无技术耗时耗神的手工活。

于是。想写个程序来统计。每次仅仅须要执行下代码,输入一些配置信息就导出为excel表格,直接复制完事,可是水平有限。就仅仅用java写了个。


demo下载

下载地址:http://download.csdn.net/detail/musuny/8769499


程序说明

  • 依赖外部jar包

    • fastjson-1.1.36.jar:阿里巴巴自主研发的json工具,性能好,本文主要用于数据的存取
    • mongo-java-driver-2.13.2.jar:java 连接mongo驱动包,此包为关键包不可或缺
    • poi-3.12.jar:用于创建Excel表格的jar包
  • PublicVisit类:主要实现统计功能的类
    • init(ip,port,db,collection):初始化连接mongo的ip地址、端口号、数据库、查询集合
    • destroy():在程序执行完毕执行该函数,关闭数据库的连接、垃圾回收等
    • readIdsFromFile(filePath):从指定路径下的文件读取公众号id

      公众号id内容演示样例:

    • getAll(filePath,startTime,endTime):參数分别代表公众号id所在的文件路径、统计数据的開始时间和截止时间,时间格式为字符串的yyyyMMdd
    • exportAsExcel(array,exportPath):參数分别代表JSONArray类型的统计结果、导出excel的表格路径
    • main():程序入口
  • VisitDetail类:訪问数据类,包含公众号id属性以及JSONArray訪问统计集合属性

步骤

第一步:执行程序

demo我已经build成一个jar包。执行方式也特别简单,在jar所在路径按住shift+鼠标右键然后点击“在此处打开命令行窗体”,输入命令:java -jar MongoDB-Demo.jar 。就可以执行程序。

第二步:依据提示输入配置參数

依照程序执行提示信息输入相关配置信息,详细的须要输入自己的參数,执行截图:

第三步:打开保存的excel表格

打开保存在E:/visit.xls表格。查看统计到的数据,比較理想,达到了想要的统计结果。结束了痛苦的手工统计。看看这个表格吧,能够想象手工统计1000+个数据是多么的无聊。截图:


总结

最终结束了痛苦的人工统计,O(∩_∩)O哈哈~,假设须要程序源代码,请联系我!


关于我

  • Q Q:1250052380
  • 邮箱:1250052380@qq.com

java连接MongoDB查询导出为excel表格的更多相关文章

  1. Java 连接MongoDB

    1.驱动 通过java连接MongoDB需要一个java版的驱动 下载地址:http://mongodb.github.io/mongo-java-driver/ 2.连接MongoDB 通过 com ...

  2. Python实现数据库一键导出为Excel表格

    依赖 Python2711 xlwt MySQLdb 数据库相关 连接 获取字段信息 获取数据 Excel基础 workbook sheet 案例 封装 封装之后 测试结果 总结 数据库数据导出为ex ...

  3. MongoDB第三天(正则,管道,聚合,字符串,算术,日期,java连接MongoDB)

    部分正则表达式: i:忽略大小写 m:多行查找 x:设置 x 选项后,正则表达式中的非转义的空白字符将被忽略.   s:允许点字符(即.)匹配包括换行符在内的所有字符. w:匹配包括下划线的任何单词字 ...

  4. java连接mongodb数据库

    最近毕设需要用到这个数据库.然而又不会,没办法,只能上网学习学习. 记录一下java连接mongodb数据库的简单方法.这里只是记录一下学习.熟悉一下CURD方法. 但是毕业用到的是SpringBoo ...

  5. 用Java导出为excel表格

    导出的是最基础的excel表格,没有任何样式. <input type="button" value="输出到Excel" onclick='output ...

  6. Java将list数据导出到Excel——(八)

    Java实体类 package bean; public class Question { private String timu; //题干 private String leixing; //类型 ...

  7. 使用PHPExcel实现数据批量导出为excel表格

    首先需要下载PHPExecel类文件,帮助文档可以参考PHPExcel中文帮助手册|PHPExcel使用方法. 下面直接上例子,是我自己写的一个简单的批量导出数据为excel的例子 前台页面 比较简单 ...

  8. 使用Aspose插件将程序中的表格,导出生成excel表格

    http://www.cnblogs.com/lanyue52011/p/3372452.html这个是原文地址 /// <summary> /// 点击按钮,将内存表导出excel表格! ...

  9. java连接mongodb的一个奇葩问题及奇葩解决方式

    昨天在eclipse中编写代码,本来连接mongodb进行各项操作都是正常的,但是有一会儿突然之间就没法连接了,还一直抱错,错误如下: 信息: Cluster created with setting ...

随机推荐

  1. POJ 2481 Cows (线段树)

    Cows 题目:http://poj.org/problem?id=2481 题意:有N头牛,每仅仅牛有一个值[S,E],假设对于牛i和牛j来说,它们的值满足以下的条件则证明牛i比牛j强壮:Si &l ...

  2. worktools-git 工具的使用总结(知识点累积)

    1.用简单列表的方式查看提交记录git log --pretty=online zhangshuli@zhangshuli-MS-:~/myGit$ git log --pretty=oneline ...

  3. vuex-store模块化配置

    一.目录结构: src -> js -> modules 1. 在modules下新建文件夹,文件夹名称按模块功能命名 如: modules ---- home -> homeMod ...

  4. CF-558E (线段树/分块)

    解题思路: 很显然突破口就是字符集比较小,分块和线段树都能A 话说线段树时间是分块5倍啊 代码(线段树): #include<cstdio> #include<cstring> ...

  5. BZOJ4196: [Noi2015]软件包管理器(树链剖分)

    Description Linux用户和OSX用户一定对软件包管理器不会陌生.通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖( ...

  6. System.out.println 的多线程并发问题

    假设println函数的參数为常量则不会出现线程并发问题,可是假设參数为表达式形式.则JVM在运行println函数的时候会分为几步来运行,从而造成并发问题. 例如以下样例所看到的: package ...

  7. android对话框(Dialog)的使用方法

    Activities提供了一种方便管理的创建.保存.回复的对话框机制.比如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog( ...

  8. python登录验证程序

    自己写的一个python登录验证程序: 基础需求: 让用户输入用户名密码 认证成功后显示欢迎信息 输错三次后退出程序 升级需求: 可以支持多个用户登录 (提示,通过列表存多个账户信息) 用户3次认证失 ...

  9. Python 极简教程(八)字符串 str

    由于字符串过于重要,请认真看完并保证所有代码都至少敲过一遍. 对于字符串,前面在数据类型中已经提到过.但是由于字符串类型太过于常用,Python 中提供了非常多的关于字符串的操作.而我们在实际编码过程 ...

  10. session 、cookie、token的区别及联系

    本文转自:https://blog.csdn.net/jikeehuang/article/details/51488020:https://blog.csdn.net/weixin_37196194 ...