使用java写入excel文件 --jxl
2014-05-05 21:04
447 查看
要操作excle文件,首先要下载jxl.jar文件,我用的版本是2.6。下载地址:http://www.andykhan.com/jexcelapi/download.html。
Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用Java编写的,所以我们在Web应用中可以通过JSP、Servlet来调用API实现对Excel数据表的访问。
1、建立一个xls文件
OutputStream os=new FileOutputStream("c:\\test.xls");
2、建立工作文件
WritableWorkbook wwb = Workbook.createWorkbook(os);
3、如果这个文件已经存在,那么我们可以在这个文件里面加入一个sheet为了和以前的数据进行分开;
jxl.write.WritableSheet ws = wwb.createSheet("Sheet 1", 0);
在createSheet方法里前面的参数是sheet名,后面是要操作的sheet号
4、写入数据
(1)最简单的字符型数据
Label label = new Label(0, 0, "This is a Label cell",wcfF);
ws.addCell(label);
在Label()方法里面有三个参数
第一个是代表列数,
第二是代表行数,
第三个代表要写入的内容
第四个是可选项,是输入这个label里面的样式
然后通过写sheet的方法addCell()把内容写进sheet里面。
字体样式:
WritableFont wf = new WritableFont(WritableFont.TIMES, 18, WritableFont.BOLD, true);
WritableFont()方法里参数说明:
这个方法算是一个容器,可以放进去好多属性
第一个: TIMES是字体大小,他写的是18
第二个: BOLD是判断是否为斜体,选择true时为斜体
第三个: ARIAL
第四个: UnderlineStyle.NO_UNDERLINE 下划线
第五个: jxl.format.Colour.RED 字体颜色是红色的
WritableCellFormat wcfF = new WritableCellFormat(wf);
(2)添加带有formatting的Number对象
NumberFormat nf = new NumberFormat("#.##");
(3)添加Number对象
(3.1)显示number对象数据的格式
NumberFormat nf = new NumberFormat("#.##");
WritableCellFormat wcfN = new WritableCellFormat(nf);
Number labelNF = new Number(1,1,3.1415926,wcfN);
ws.addCell(labelNF);
Number()方法参数说明:
前两上表示输入的位置
第三个表示输入的内容
(4)添加Boolean对象
Boolean labelB = new Boolean(0,2,false);
ws.addCell(labelB);
(5)添加DateTime对象
DateTime labelDT = new DateTime(0,3,new java.util.Date());
ws.addCell(labelDT);
DateTime()方法的参数说明
前两个表示输入的位置
第三个表示输入的当前时间
(6)添加带有formatting的DateFormat对象
这个显示当前时间的所有信息,包括年月日小时分秒
DateFormat df = new DateFormat("dd MM yyyy hh:mm:ss");
WritableCellFormat wcfDF = new WritableCellFormat(df);
DateTime labelDTF = new DateTime(1,3,new java.util.Date(),wcfDF);
ws.addCell(labelDTF);
(7)添加带有字体颜色Formatting的对象
WritableFont wfc = new WritableFont(WritableFont.ARIAL, 10, WritableFont.NO_BOLD, false,UnderlineStyle.NO_UNDERLINE, Colour.RED);
WritableCellFormat wcfFC = new WritableCellFormat(wfc);
import="jxl.format.*
WritableFont wfc = new WritableFont(WritableFont.ARIAL,20,WritableFont.BOLD,false,UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.GREEN);
(8)设置单元格样式
WritableCellFormat wcfFC = new WritableCellFormat(wfc);
wcfFC.setBackGround(Colour.RED);//设置单元格的颜色为红色
wcfFC = new Label(6,0,"I love china",wcfFC);
最简单的程序示例:
/*
* Created on 2007-12-19
*
* To change the template for this generated file go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
package beans;
import java.io.*;
import java.util.Vector;
import javax.servlet.ServletException;
import net.iyun.util.LocaleConvert;
import jxl.*;
import jxl.write.*;
/**
* @author huyuxi
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class GongdanExcel
{
public static void main(String args[]) throws FileNotFoundException, ServletException{
//调试地址,正式使用时放在服务器上
OutputStream os = new FileOutputStream("c:\\test.xls");
writeExcel(os);
}
/**
* 输出Excel
*
* @param os
*/
public static void writeExcel(OutputStream os) throws ServletException
{
try
{
/**
* 只能通过API提供的工厂方法来创建Workbook,而不能使用WritableWorkbook的构造函数,
* 因为类WritableWorkbook的构造函数为protected类型
* method(1)直接从目标文件中读取WritableWorkbook wwb = Workbook.createWorkbook(new File(targetfile));
* method(2)如下实例所示 将WritableWorkbook直接写入到输出流
*/
WritableWorkbook wwb = Workbook.createWorkbook(os);
//创建Excel工作表 指定名称和位置
WritableSheet ws = wwb.createSheet("test",0);
//**************往工作表中添加数据*****************
for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
Label label = new Label(i,j,i+j);
ws.addCell(label);
}
}
//写入工作表
wwb.write();
wwb.close();
}
catch(Exception e)
{
throw new ServletException(e);
}
}
}
这样文件就生成了,想看的时候只需要下载到本地就可以了。
Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用Java编写的,所以我们在Web应用中可以通过JSP、Servlet来调用API实现对Excel数据表的访问。
1、建立一个xls文件
OutputStream os=new FileOutputStream("c:\\test.xls");
2、建立工作文件
WritableWorkbook wwb = Workbook.createWorkbook(os);
3、如果这个文件已经存在,那么我们可以在这个文件里面加入一个sheet为了和以前的数据进行分开;
jxl.write.WritableSheet ws = wwb.createSheet("Sheet 1", 0);
在createSheet方法里前面的参数是sheet名,后面是要操作的sheet号
4、写入数据
(1)最简单的字符型数据
Label label = new Label(0, 0, "This is a Label cell",wcfF);
ws.addCell(label);
在Label()方法里面有三个参数
第一个是代表列数,
第二是代表行数,
第三个代表要写入的内容
第四个是可选项,是输入这个label里面的样式
然后通过写sheet的方法addCell()把内容写进sheet里面。
字体样式:
WritableFont wf = new WritableFont(WritableFont.TIMES, 18, WritableFont.BOLD, true);
WritableFont()方法里参数说明:
这个方法算是一个容器,可以放进去好多属性
第一个: TIMES是字体大小,他写的是18
第二个: BOLD是判断是否为斜体,选择true时为斜体
第三个: ARIAL
第四个: UnderlineStyle.NO_UNDERLINE 下划线
第五个: jxl.format.Colour.RED 字体颜色是红色的
WritableCellFormat wcfF = new WritableCellFormat(wf);
(2)添加带有formatting的Number对象
NumberFormat nf = new NumberFormat("#.##");
(3)添加Number对象
(3.1)显示number对象数据的格式
NumberFormat nf = new NumberFormat("#.##");
WritableCellFormat wcfN = new WritableCellFormat(nf);
Number labelNF = new Number(1,1,3.1415926,wcfN);
ws.addCell(labelNF);
Number()方法参数说明:
前两上表示输入的位置
第三个表示输入的内容
(4)添加Boolean对象
Boolean labelB = new Boolean(0,2,false);
ws.addCell(labelB);
(5)添加DateTime对象
DateTime labelDT = new DateTime(0,3,new java.util.Date());
ws.addCell(labelDT);
DateTime()方法的参数说明
前两个表示输入的位置
第三个表示输入的当前时间
(6)添加带有formatting的DateFormat对象
这个显示当前时间的所有信息,包括年月日小时分秒
DateFormat df = new DateFormat("dd MM yyyy hh:mm:ss");
WritableCellFormat wcfDF = new WritableCellFormat(df);
DateTime labelDTF = new DateTime(1,3,new java.util.Date(),wcfDF);
ws.addCell(labelDTF);
(7)添加带有字体颜色Formatting的对象
WritableFont wfc = new WritableFont(WritableFont.ARIAL, 10, WritableFont.NO_BOLD, false,UnderlineStyle.NO_UNDERLINE, Colour.RED);
WritableCellFormat wcfFC = new WritableCellFormat(wfc);
import="jxl.format.*
WritableFont wfc = new WritableFont(WritableFont.ARIAL,20,WritableFont.BOLD,false,UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.GREEN);
(8)设置单元格样式
WritableCellFormat wcfFC = new WritableCellFormat(wfc);
wcfFC.setBackGround(Colour.RED);//设置单元格的颜色为红色
wcfFC = new Label(6,0,"I love china",wcfFC);
最简单的程序示例:
/*
* Created on 2007-12-19
*
* To change the template for this generated file go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
package beans;
import java.io.*;
import java.util.Vector;
import javax.servlet.ServletException;
import net.iyun.util.LocaleConvert;
import jxl.*;
import jxl.write.*;
/**
* @author huyuxi
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class GongdanExcel
{
public static void main(String args[]) throws FileNotFoundException, ServletException{
//调试地址,正式使用时放在服务器上
OutputStream os = new FileOutputStream("c:\\test.xls");
writeExcel(os);
}
/**
* 输出Excel
*
* @param os
*/
public static void writeExcel(OutputStream os) throws ServletException
{
try
{
/**
* 只能通过API提供的工厂方法来创建Workbook,而不能使用WritableWorkbook的构造函数,
* 因为类WritableWorkbook的构造函数为protected类型
* method(1)直接从目标文件中读取WritableWorkbook wwb = Workbook.createWorkbook(new File(targetfile));
* method(2)如下实例所示 将WritableWorkbook直接写入到输出流
*/
WritableWorkbook wwb = Workbook.createWorkbook(os);
//创建Excel工作表 指定名称和位置
WritableSheet ws = wwb.createSheet("test",0);
//**************往工作表中添加数据*****************
for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
Label label = new Label(i,j,i+j);
ws.addCell(label);
}
}
//写入工作表
wwb.write();
wwb.close();
}
catch(Exception e)
{
throw new ServletException(e);
}
}
}
这样文件就生成了,想看的时候只需要下载到本地就可以了。
相关文章推荐
- 如何使用JavaExcel(jxl)读取一个文件并写入一个新文件
- java中使用JXL对Excel文件进行数据的写入、导出操作
- java中使用JXL对Excel文件进行数据的写入、导出操作
- 使用JAVA通过JXL(JExcel)动态生成Excel文件 转载至台湾某博客
- 使用jxl读取模板文件,写入数据并导出excel
- java向EXCEL文件中写入数据使用jxljar包
- Java生成excel导出文件(使用poi+JXL)
- java与Excel (.xls文件) ---使用JXL创建,增添表格文件
- Java:使用jxl读取excel文件内容
- java 写入excel 使用 jxl.jar
- Java模块 -- 读取Excel文件写入数据库 Mybatis , POI , JXL
- java使用JXL从excel中写入,读取数据
- 读取、回收和重用:使用 Excel、XML 和 Java 技术轻松搞定报告使用 Java 和 XML 技术读取 Excel 文件并写入新文件(1)
- 使用jxl.jar处理excel文档,创建的excel文件不能写入数据
- Java使用jxl对excel文件进行简单的读写
- java使用poi把从数据库中取出的数据写入到excel文件中并保存到指定文件路径
- java使用jxl包读写excel表格文件,即xls格式文件
- java基于jxl.jar包生成Excel文件到指定目录和服务器下载两种模式的使用方法
- 使用JAVA读取和写入EXCEL文件
- Java基础系列19:使用JXL或者POI生成和解析Excel文件