好记性不如烂笔头7-JAVA生成EXCEL文件

使用poi生成EXCEL

在很多的场合,需要使用EXCEL文件。一般是表格方面的应用,简单的示例。

需要引入第三方jar包:poi_3.6.jar

package com.daily;

import java.io.File;

import java.io.FileOutputStream;

import java.io.OutputStream;

import java.util.ArrayList;

import java.util.List;

importorg.apache.poi.hssf.usermodel.HSSFCell;

importorg.apache.poi.hssf.usermodel.HSSFRichTextString;

importorg.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

importorg.apache.poi.hssf.usermodel.HSSFWorkbook;

/**

*生成EXCEL

*@author 范芳铭

*/

public class EasyExcel {

public void createExcelFile(String outFilename,List<Content> xls)throws Exception {

// 获取总列数

int CountColumnNum = xls.size();

// 创建Excel文档

HSSFWorkbook hwb = new HSSFWorkbook();

Content content = null;

// sheet 对应一个工作页

HSSFSheet sheet = hwb.createSheet("ffm");

HSSFRow firstrow = sheet.createRow(0); //
下标为0的行开始

HSSFCell[] firstcell = new HSSFCell[CountColumnNum];

String[] names = new String[CountColumnNum];

names[0] = "编码";

names[1] = "姓名";

for (int j = 0; j < CountColumnNum; j++) {

firstcell[j] =firstrow.createCell(j);

firstcell[j].setCellValue(newHSSFRichTextString(names[j]));

}

for (int i = 0; i < xls.size(); i++) {

// 创建一行

HSSFRow row = sheet.createRow(i +1);

// 得到要插入的每一条记录

content = xls.get(i);

for (int colu = 0; colu <= 4;colu++) {

// 在一行内循环

HSSFCell one =row.createCell(0);

one.setCellValue(content.getCode());

HSSFCell two =row.createCell(1);

two.setCellValue(content.getName());

}

}

// 创建文件输出流,准备输出电子表格

OutputStream out = new FileOutputStream(new File(outFilename));

hwb.write(out);

out.close();

}

publicstatic void main(String[] args) throws Exception{

//初始化数据,内部类的构造有点特殊

List<Content>contents = new ArrayList<Content>();

contents.add(newEasyExcel().new Content("100","name100"));

contents.add(newEasyExcel().new Content("101","name101"));

contents.add(newEasyExcel().new Content("102","name102"));

longstart = System.currentTimeMillis();

EasyExcelexcel = new EasyExcel();

excel.createExcelFile("d:/ffm83/easyExcel.xls",contents);

longend = System.currentTimeMillis();

System.out.println("生成excel文件耗时:"+ (end - start) + "(毫秒)");

}

//一个简单的保存简单信息的内部类

publicclass Content {

privateString code;

private String name;

public Content(String code,String name){

this.code= code;

this.name= name;

}

publicString getCode() {

returncode;

}

publicvoid setCode(String code) {

this.code= code;

}

publicString getName() {

returnname;

}

publicvoid setName(String name) {

this.name= name;

}

}

}

时间: 2024-10-11 00:29:50

好记性不如烂笔头7-JAVA生成EXCEL文件的相关文章

java生成excel文件工具类实例

import java.io.File; import java.io.IOException; import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import jxl.write.WriteException; import jxl.write.biff.RowsExceededException; import org.

Java生成Excel文件

1.设计源码 /** * * @title:ExcelUtils.java * @Package:com.you.utils * @Description:<h3>一句话描述功能</h3> * @author:游海东 * @date:2015-3-21下午10:17:34 * @version V1.0 * */ package com.you.utils; import java.io.File; import java.io.IOException; import jxl.Wo

好记性不如烂笔头8-JAVA读取EXCEL文件

使用poi读取EXCEL的内容 在很多的场合,需要读取EXCEL文件.简单的示例. 需要引入第三方jar包:poi_3.6.jar package com.daily; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; impor

java 后台 Excel 文件生成后转化为字节流

Java 后台 Excel 文件生成后转化为字节流 java excel 使用 poi组件, HSSFWorkbook workBook = new HSSFWorkbook(); 对于workBook生成字节流,很容易发现有个workBook .getBytes(),但是,是不可用的,下载以后打不开, 如果下载,正确的写法为 workBook.write(response.getOutputStream()); 如果转化为字节流: ByteArrayOutputStream os = new

java使用poi生成Excel文件

1. maven导入poi包: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.17</version> </dependency> pom.xml 2. 新建测试数据实体类: package com.clz.testexportexcel; public class Exc

好记性不如烂笔头48-java拦截器-JDK自带动态代理和CGLIB效率比较(3)

Java中自带的动态代理的类必须要实现一个接口,而且据说使用反射的效率也并不是很高.于是CGLIB就诞生了. 使用CGLib实现动态代理,完全不受代理类必须实现接口的限制,而且CGLib底层采用ASM字节码生成框架,使用字节码技术生成代理类,理论上比使用Java反射效率要高. 那么我们测试下,这个运行的效率如何. 1. 测试的准备情况 准备1:好记性不如烂笔头46-java拦截器-彻底理解动态代理的概念(1) http://blog.csdn.net/ffm83/article/details/

XLSTransformer生成excel文件简单演示样例

项目结构图: 项目中所用到的jar,能够到http://www.findjar.com/index.x下载 ExcelUtil类源代码: package util; import java.io.IOException; import java.net.URL; import java.util.HashMap; import java.util.List; import java.util.Map; import net.sf.jxls.exception.ParsePropertyExcep

java生成excel表格和pdf并实现下载弹出框

今天在pdf和excel中都实现了在浏览器弹出下载框 将之前在网上查找的生成excel表格代码稍微修改下: public class CreateSimpleExcelToDisk { /** * @功能:手工构建一个简单格式的Excel */ private static List<News> getNews() throws Exception { List<News> data = new ArrayList<News>(); NewsDao dao = new

java生成excel和读取excel例子

关于使用java的操作excel的方法有很多种,我的http://blog.csdn.net/qq_20545159/article/details/45132041价绍过,下面是使用jxl生成xls格式的excel简单的代码. 使用jxl生成excel文件首先必须将jxl.jar的包加到你的项目的路径下. package com.silence.excel; import java.io.File; import jxl.Workbook; import jxl.write.Label; im