- 浏览: 454689 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
csdn_lichao:
[flash=200,200][flash=200,200][ ...
MySql数据分区操作,新增分区 -
xtxycy:
的确有一楼说这个问题,有一定几率出现重复卖的情况
Java中有两种实现多线程的方式以及两种方式之间的区别 -
superhotdong:
class ThreadTest implements Run ...
Java中有两种实现多线程的方式以及两种方式之间的区别 -
yuelangyc:
beming 写道时间过去有点长,想请教一个问题,如果我只想批 ...
Mysql中批量更新的几种方式 -
beming:
时间过去有点长,想请教一个问题,如果我只想批量更新,不插入有没 ...
Mysql中批量更新的几种方式
最近项目中用到大数据量导出功能.不能确定到底有多大,最少十来万条记录.
100M的excel文件,excel2003已经不能够打开了,只能用2007版.不知道后期数据量更大的时候怎么办.废话不多说,上代码.Copy别人的.以备以后使用.
文件格式可以自定义,改成XML或者excel都可以, 代码复制到eclipse可以直接运行.还需要再研究研究poi导出.完了以后做个比较,顺便记录下来.
100M的excel文件,excel2003已经不能够打开了,只能用2007版.不知道后期数据量更大的时候怎么办.废话不多说,上代码.Copy别人的.以备以后使用.
package com.epay.utils; /** * 大数据量导出成EXCEL或XML * @author J.W * 2011-06-08 */ import java.io.BufferedOutputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class Test { public static void main(String[] args) { StringBuffer sb = new StringBuffer(); try { DataOutputStream rafs = new DataOutputStream( new BufferedOutputStream(new FileOutputStream(new File( "d://test.xml")))); sb.append("<?xml version=\"1.0\"?>"); sb.append("\n"); sb.append("<?mso-application progid=\"Excel.Sheet\"?>"); sb.append("\n"); sb.append("<Workbook xmlns=\"urn:schemas-microsoft-com:office:spreadsheet\""); sb.append("\n"); sb.append(" xmlns:o=\"urn:schemas-microsoft-com:office:office\""); sb.append("\n"); sb.append(" xmlns:x=\"urn:schemas-microsoft-com:office:excel\""); sb.append("\n"); sb.append(" xmlns:ss=\"urn:schemas-microsoft-com:office:spreadsheet\""); sb.append("\n"); sb.append(" xmlns:html=\"http://www.w3.org/TR/REC-html40\">"); sb.append("\n"); sb.append(" <Styles>\n"); sb.append(" <Style ss:ID=\"Default\" ss:Name=\"Normal\">\n"); sb.append(" <Alignment ss:Vertical=\"Center\"/>\n"); sb.append(" <Borders/>\n"); sb.append(" <Font ss:FontName=\"宋体\" x:CharSet=\"134\" ss:Size=\"12\"/>\n"); sb.append(" <Interior/>\n"); sb.append(" <NumberFormat/>\n"); sb.append(" <Protection/>\n"); sb.append(" </Style>\n"); sb.append(" </Styles>\n"); int sheetcount = 0; int recordcount = 20; int currentRecord = 0; int total = 100; int col = 20; sb.append("<Worksheet ss:Name=\"Sheet0\">"); sb.append("\n"); sb.append("<Table ss:ExpandedColumnCount=\"" + col + "\" ss:ExpandedRowCount=\"" + total + "\" x:FullColumns=\"1\" x:FullRows=\"1\">"); sb.append("\n"); for (int i = 0; i < total; i++) { if ((currentRecord == recordcount || currentRecord > recordcount || currentRecord == 0) && i != 0) {// 一个sheet写满 currentRecord = 0; rafs.write(sb.toString().getBytes()); sb.setLength(0); sb.append("</Table>"); sb.append("<WorksheetOptions xmlns=\"urn:schemas-microsoft-com:office:excel\">"); sb.append("\n"); sb.append("<ProtectObjects>False</ProtectObjects>"); sb.append("\n"); sb.append("<ProtectScenarios>False</ProtectScenarios>"); sb.append("\n"); sb.append("</WorksheetOptions>"); sb.append("\n"); sb.append("</Worksheet>"); sb.append("<Worksheet ss:Name=\"Sheet" + i / recordcount + "\">"); sb.append("\n"); sb.append("<Table ss:ExpandedColumnCount=\"" + col + "\" ss:ExpandedRowCount=\"" + recordcount + "\" x:FullColumns=\"1\" x:FullRows=\"1\">"); sb.append("\n"); } sb.append("<Row>"); for (int j = 0; j < col; j++) { System.out.println(i); sb.append("<Cell><Data ss:Type=\"String\">111</Data></Cell>"); sb.append("\n"); } sb.append("</Row>"); if (i % 5000 == 0) { rafs.write(sb.toString().getBytes()); rafs.flush(); sb.setLength(0); } sb.append("\n"); currentRecord++; } rafs.write(sb.toString().getBytes()); sb.setLength(0); sb.append("</Table>"); sb.append("<WorksheetOptions xmlns=\"urn:schemas-microsoft-com:office:excel\">"); sb.append("\n"); sb.append("<ProtectObjects>False</ProtectObjects>"); sb.append("\n"); sb.append("<ProtectScenarios>False</ProtectScenarios>"); sb.append("\n"); sb.append("</WorksheetOptions>"); sb.append("\n"); sb.append("</Worksheet>"); sb.append("</Workbook>"); sb.append("\n"); rafs.write(sb.toString().getBytes()); rafs.flush(); rafs.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
文件格式可以自定义,改成XML或者excel都可以, 代码复制到eclipse可以直接运行.还需要再研究研究poi导出.完了以后做个比较,顺便记录下来.
发表评论
-
Mybatis的Mapper的多参数使用,list
2014-01-18 09:51 28140Mapper中多参数查 ... -
Java的logger打印异常的堆栈信息
2012-11-28 10:25 13623在java开发中,logger打印错误日志是最 ... -
Java关于split 处理空串以及截取最大数。
2012-07-19 20:50 7630java的String类中有个split方法, ... -
Java中关于List 与对象的关系
2012-05-30 16:32 1472在开发中,List 是经常被使用到的对象,Ar ... -
JAVA数据统计文件的导出和导入、数据库一键备份还原。
2012-05-07 18:15 2930看标题感觉像是两个完全不同的东西,为什么要写到 ... -
Java中getResourceAsStream的用法
2012-03-01 11:35 1004全文无损转载:http://www.cnblogs.com/j ... -
JAVA递归方法
2012-02-17 14:26 0根据ParentId查询出所有子渠道Id ... -
JAVA写一个方法,判断该数是否为回数。
2012-02-02 21:06 3333数学上:一般的,一个自然数,如果该自然数从左向右读 ... -
Java源码打Jar包的两种方式.
2011-10-11 10:42 2204总结起来,eclipse下打包有2种方式。 1) ... -
Java中使用JSONObject对象必备
2011-08-22 11:05 1230JSON 即 JavaScript Object Natati ... -
java中使用dom简单轻便解析XML串.
2011-07-20 17:51 910java中使用dom解析简单的xml文件,只是 ... -
Java中离线并发与锁机制。
2011-06-09 18:10 1449离线并发的来源 ... -
Java非常简单的Ajax使用.第一个Ajax程序
2011-06-04 17:38 2764查询某个表某条记录的时候,只能查出表的ID,不能直接显示NAM ... -
Java中获取windows、Linux和windows7的MAC地址
2011-06-03 16:52 10182今天在完成任务的时候,遇到了需要对对应的MAC地址进行验证的方 ... -
Java中判断非空对象.
2011-06-01 11:17 12943Java中经常会遇到判断非空的时候. 有的时候判断了非空但是还 ... -
Java中关于三目运算符理解和简单应用.
2011-05-26 11:08 24493名词解释 三目运算符: <表达式1>?<表达 ... -
Java实现真分页.自己领悟.
2011-05-25 17:17 2361oracle+java实现的真分页.每一页数据都是一次查询. ... -
Java中有两种实现多线程的方式以及两种方式之间的区别
2011-05-24 10:47 17409看到一个面试题.问两种 ... -
JAVA中简单调用MD5算法进行加密.
2011-03-19 09:39 6180加密算法简单代码.引入两个包.无需知道MD5源码. packa ... -
java-上传包 commons-fileupload-1.2.jar处理上传文件
2011-03-09 10:12 1373java commons-fileupload-1.2.jar ...
相关推荐
### Java大批量导出数据至Excel或XML技术详解 #### 技术背景及应用场景 在企业级应用开发中,经常需要处理大量数据的导出需求,例如报表导出、数据分析等场景。对于这类需求,使用Java进行批量数据导出至Excel或...
- 如上述代码所示,可以导出XML格式的文件,这种文件可以被Excel识别并打开为工作簿。通过分批导出数据到多个XML文件,然后再合并为一个压缩包供用户下载,这种方法适合处理大规模数据。 3. **代码实现细节**: -...
XML作为一种结构化的数据格式,能够很好地存储和传输大量数据,因此,通过XML来导入Excel是一种有效的解决方案。 首先,我们需要理解XML(eXtensible Markup Language)的基本概念。XML是一种自描述性的标记语言,...
本主题聚焦于“大批量数据导出到XLS”,这是一个关于如何高效地将大量数据从网页或其他数据源导出到Excel(XLS)文件的过程。XLS是Microsoft Excel的一种文件格式,广泛用于存储和组织表格数据,便于分析和共享。 ...
本文将详细介绍如何避免这些问题,并提供针对不同Excel文件格式(.xls与.xlsx)的大批量数据导入导出的优化方法。 #### 一次线上问题实例 在一次线上问题中,由于执行了一个大数据量的Excel导出操作,导致服务器...
博文链接提供的资源“数据大批量导出(有代码有真相).docx”可能包含具体的示例代码和实践案例,可以作为学习和参考的依据。通过深入研究这些示例,开发者能够更好地掌握如何在Java中高效地进行Excel文件的导入导出。
在IT领域,数据库管理和数据迁移是一项关键任务,尤其是在多种数据格式和系统之间。"SQL数据导入到Access,和XML等文件中"这个主题涉及到的就是如何在不同数据平台间进行数据交换,以实现数据共享和互操作性。让我们...
5. **使用示例**:在Excel的导入导出操作中,EasyPOI可以方便地读取一行数据并映射到Java对象,也可以将Java对象集合一次性写入Excel。对于Word,可以创建模板并替换其中的占位符内容,实现批量生成报告。 6. **...
"**Java大批量导出数据,格式可以为xml或excel..doc**"会指导你如何利用Java编程接口实现数据的XML或Excel格式导入导出,这对于数据迁移或备份很有帮助。 SQL是操作数据库的语言,"**H2Database_SQL语法.doc**"涵盖...
《Java大批量导出数据,格式可以为xml或excel》可能讲解了如何使用Java编程语言将数据批量导出为XML或Excel格式,这对于数据交换和分析非常有用。H2提供了API来支持这种操作,使得开发者可以方便地与应用程序集成。 ...
- **性能优化**:大量Word文档转换可能会消耗大量内存,因此在处理大批量文件时,需要考虑分批处理或使用流式处理。 - **错误处理**:在读取和转换过程中可能出现各种异常,如文件损坏、格式不兼容等,需要编写合适...
项目管理员可以使用QC的Excel插件工具来执行需求的批量导入,进行导入之前请先确认已经访问过MQC主页,并安装了QCMSExcelAddin.exe插件。 插件下载地址: http://updates.merc-int.com/qual ... /msexcel/index.html...