java 导出成EXCEL或XML

原文:java
导出成EXCEL或XML

源代码下载地址:http://www.zuidaima.com/share/1550463713774592.htm

java 导出成EXCEL或XML, 纯手工写的. 复制到eclipse中去直接运行该类,就可以看到效果了.

package com.zuidaima.file.exam.test;

import java.io.BufferedOutputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
/**
 * 大数据量导出成EXCEL或XML
 * @author administrator www.zuidaima.com
 *
 */
public class ExportUtil{
	public static void main(String[] args) {
		StringBuffer sb = new StringBuffer();
		try {
			DataOutputStream rafs = new DataOutputStream(
					new BufferedOutputStream(new FileOutputStream(new File(
							"d://test2.xls"))));
			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();
		}
	}
}
时间: 2024-11-05 12:29:05

java 导出成EXCEL或XML的相关文章

java导出数据Excel总结

//创建获取到JFileChooser的文件名的JTextField public JTextField getTextField(Container c){ JTextField textField = null; for (int i = 0; i < c.getComponentCount(); i++) { Component cnt = c.getComponent(i); if (cnt instanceof JTextField) { return (JTextField) cnt

php将数据库导出成excel的方法

<?php $fname = $_FILES['MyFile']['name']; $do = copy($_FILES['MyFile']['tmp_name'],$fname); if ($do) { echo"导入数据成功<br>"; } else { echo ""; } ?> <form ENCTYPE="multipart/form-data" ACTION="<?php echo&quo

.Net常用技巧_传入DataGrid直接导出成Excel

注:非调用OFFICE的DLL方法. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; using Utility; using System.IO; names

C#将数据库导出成Excel,再从Excel导入到数据库中。

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; using System.IO; namespace CindyDatabaseProcess { class Program { static void Main(string[] args) { System.Data.DataTable dt1 = null; S

GridView导出成Excel字符&quot;0&quot;丢失/数字丢失的处理方式 收藏

GridView导出成Excel字符"0"丢失/数字丢失的处理方式 收藏 GridView 导出成Excel文件,这个代码在网上比较多.但是发现存在一个问题,导出的数据中如果有"012457890"的内容,用Excel打开后就变成 了"12457890",少了前面的0;原因是Excel把它当作数字来格式化了,就把"0"给去掉了.   解决思路:在Excel中作一个包含有"012457890"的内容,设定单元

C# 泛型List对象数据 导出 成 EXCEL数据表

1          /// <summary>  2         /// 将一组对象导出成EXCEL  3         /// </summary>  4         /// <typeparam name="T">要导出对象的类型</typeparam>  5         /// <param name="objList">一组对象</param>  6         //

MySQL要导出成excel的方法

MySQL 要导出成 excel 文件很简单,执行类似这样的命令: select * from 某个表 into outfile  'd:/文件名.xls'; 上述命令你在服务器上执行,就导在服务器 D: 盘,若在客户端命令行方式执行,就导在客户端 D :盘 ,若在客户端通过 POST 方式执行,则导在服务器 D:盘.能导成功的大前提是你有登录权限 ,要有 select 权限,而且还要有 file 权限,如果没有 file 权限,你将无法执行 select ....into outfile 和

如何把高德地图搜索商家电话资料导出成excel里?

有很多人问我,怎么样能够快速的把高德地图左边的搜索列表里的商家地图,电话,导出到EXCEL里. 如何快速地将高德地图里的商家电话资料导出EXCEL? 操作步骤: 1. 选择你要采集的省份, 城市列表里就会有相应的省份的城市列表. 2. 选择要采集的城市,比如: 济南 3. "同时保存为Excel"  选项, 采集完毕后,程序首先会保存一份access数据库文件, 如果这里的对勾打上,则会在相应的文件夹下再产生一个EXCEL文件. 4. "打开文件位置", 采集完毕后

如何把百度,腾讯地图左边的搜索结果导出成excel里?

有很多人问我,怎么样能够快速的把地图左边的搜索列表里的商家地图,电话,导出到EXCEL里. 我就开发了一个小软件,专门为快速的实现导出数据到EXCEL. 操作步骤: 1. 选择你要采集的省份, 城市列表里就会有相应的省份的城市列表. 2. 选择要采集的城市,比如: 济南 3. "同时保存为Excel"  选项, 采集完毕后,程序首先会保存一份access数据库文件, 如果这里的对勾打上,则会在相应的文件夹下再产生一个EXCEL文件. 4. "打开文件位置", 采集完