导出100万条数据到excel

  • 目的

    数据库中有100万条数据,用java程序导入到excel,所花费的时间

  • 演示

  • 过程

    • eclipse 创建main

    • sqlserver连接数据库程序

    • TCP/IP连接失败

      sqlserver 配置管理器打开tcp/ip连接
    • excel连接包

    • java.lang.ClassNotFoundException: org.apache.commons.collections4.ListValuedMap

      添加commons-collections的jar包
    • 在数据库中创建100万条数据

    • 创建excelDemo数据库和employee表

    • 执行查询

      use excelDemo;
      GO
      DECLARE @LN VARCHAR(300),@MN VARCHAR(200),@FN VARCHAR(200)
      DECLARE @LN_N INT,@MN_N INT,@FN_N INT
      SET @LN='李王张刘陈杨黄赵周吴徐孙朱马胡郭林何高梁郑罗宋谢唐韩曹许邓萧冯曾程蔡彭潘袁于董余苏叶吕魏蒋田杜丁沈姜范江傅钟卢汪戴崔任陆廖姚方金邱夏谭韦贾邹石熊孟秦阎薛侯雷白龙段郝孔邵史毛常万顾赖武康贺严尹钱施牛洪龚'
      SET @MN='德绍宗邦裕傅家積善昌世贻维孝友继绪定呈祥大正启仕执必定仲元魁家生先泽远永盛在人为任伐风树秀文光谨潭棰'
      SET @FN='丽云峰磊亮宏红洪量良梁良粮靓七旗奇琪谋牟弭米密祢磊类蕾肋庆情清青兴幸星刑'
      SET @LN_N=LEN(@LN)
      SET @MN_N=LEN(@MN)
      SET @FN_N=LEN(@FN)
      DECLARE @TMP VARCHAR(1000),@I INT
      SET @I=0
      WHILE @I<1000000
      BEGINSET @TMP=CAST(SUBSTRING(@LN,CAST(RAND()*@LN_N AS INT),1) AS VARCHAR)SET @TMP=@TMP+CAST(SUBSTRING(@MN,CAST(RAND()*@MN_N AS INT),1) AS VARCHAR)SET @TMP=@TMP+CAST(SUBSTRING(@FN,CAST(RAND()*@FN_N AS INT),1) AS VARCHAR)INSERT INTO employee(name,cellPhone) VALUES(@TMP,'2005'+@I)SET @I=@I+1
      end

    • 读取数据

    • Invalid row number (65536) outside allowable range (0..65535)

      改用xssf
    • 速度太慢

      改用sxssf
      http://poi.apache.org/spreadsheet/index.html
    • 结果

    完成时间大约为40多秒

导出100万条数据到excel相关推荐

  1. Excel导入30万条数据和导出50万条数据方案

    背景:最近在做一个功能改造,老系统Excel导入导出大批量数据,要求支持一次性导入30万条数据,一次性导出50万条数据,还需要对数据进行校验,另外对性能有要求,不能比老系统的性能差.和业务了解了老系统 ...

  2. 极限挑战—C#100万条数据导入SQL SERVER数据库仅用4秒 (附源码)

    实际工作中有时候需要把大量数据导入数据库,然后用于各种程序计算,本实验将使用5中方法完成这个过程,并详细记录各种方法所耗费的时间. 本实验中所用到工具为VS2008和SQL SERVER 2000.S ...

  3. qt中的mysql能存入多少行数据_Qt中提高sqlite的读写速度(使用事务一次性写入100万条数据)...

    SQLite数据库本质上来讲就是一个磁盘上的文件,所以一切的数据库操作其实都会转化为对文件的操作,而频繁的文件操作将会是一个很好时的过程,会极大地影响数据库存取的速度.例如:向数据库中插入100万条数 ...

  4. kettle如何3秒内写入100万条数据到Redis

    kettle如何3秒内写入100万条数据到Redis 1.实现结果 先来看下实现结果,如下图,本地写入100万数据,耗时2.3s,每秒44万.接下来说说如何实现: 数据存储结构样例: 2.添加redi ...

  5. sql server批量插入数据库的操作100万条数据

    1.数据库中 首先创建表->连接数据库->通过循环插入数据 2.建立测试表 在这里插入代码[c-sharp] view plain copy --Create DataBase creat ...

  6. Oracle查询前100万条数据

    Oracle不支持select top语句,在Oracle中经常是用order by跟rownum select 列名1 ...列名n from ( select 列名1 ...列名n     fro ...

  7. php导出1万条数据excel_PHP快速导出百万级数据到CSV或者EXCEL文件

    前言: 很多时候,因为数据统计,我们需要将数据库的数据导出到Excel等文件中,以供数据人员进行查看,如果数据集不大,其实很容易:但是如果对于大数集的导出,将要考虑各种性能的问题,这里以导出数据库一百 ...

  8. python读取大数据量xml_[C#]_[使用微软OpenXmlSDK (OpenXmlReader)读取xlsx表格] 读取大数据量100万条数据Excel文件解决方案...

    1.OpenXmlSDK是个很好的类库,可惜只能通过C#调用,C#的童鞋又福气了. 2.服务端程序由于没法安装office,所以这个对asp.net网站来说是最理想的库了.需要.net 4.0版本以上 ...

  9. php导出1万条数据excel_实用!用PHP导出百万级大数据到Excel

    实用!用PHP导出百万级大数据到Excel 作者:PHPYuan 时间:2018-07-31 03:41:41 关注我们的人 月薪都过万了 一.数据量分析 假设我们需要单日导入的数量为20W+ Exc ...

最新文章

  1. 聪明的程序员用Delphi,真正的程序员用C++,偷懒的程序员用PowerShell
  2. Wisdom RESTClient支持自动化测试并可以生成API文档
  3. 实现自己的.NET Core配置Provider之Yaml
  4. 前端学习(2839):swiper属性
  5. 如何在JS中改变Extjs combox 的值
  6. python重载模块_Python 3.0中重载模块
  7. svm gui安装 matlab,svm_matlab_gui 支持向量机matlab工具箱(含资料及gui模式)用于分类和回归预测 - 下载 - 搜珍网...
  8. 一次Nginx 502问题解决
  9. xp系统怎么看计算机内存条,XP环境下怎么查看虚拟内存?XP系统虚拟内存过低怎么设置?...
  10. Docker三剑客详解
  11. iOS8:TouchID
  12. 鼠标画上去图片旋转360度
  13. Ubuntu怎么念?
  14. 乌合之众-大众心理研究(五)
  15. python numpy是什么_Python库Numpy里ndarray.ndim 是什么意思?
  16. tomcat下载与安装win11
  17. uboot什么意思(uboot fastboot)
  18. tensorflow的early stopping模型保存方式
  19. rbf神经网络自适应控制matlab仿真,机械系统RBF神经网络控制:设计、分析及Matlab仿真(英文)...
  20. AGV小车如何实现无人搬运自动导引代替人工

热门文章

  1. EXCEL VBA小白第三课:删除行,合并空白单元格
  2. MYSQL 一行数据拆分成多行数据
  3. linux查看python版本-教你如何检查 Python 版本
  4. 各种图片格式(BMP,JPG, GIF,PNG, TGA) 简单介绍
  5. css层叠引入方式有,前端1-----CSS层叠样式表了解,css的引入方式,三大选择器(标签,类,id),高级选择器...
  6. 复合函数专题c语言,高考数学复合函数知识点归纳
  7. 真人真事,来自一位架构师的呐喊:杜绝面向监狱编程,程序员做好自身防护,时刻保持敬畏之心
  8. python计算复杂公式_复杂指标计算公式
  9. matlab中ss函数_matlab状态空间模型(matlab中如何通过ss函数和tf2ss函数将微分方程转化...)...
  10. 教你一秒钟画N多人像素描