- 论坛徽章:
- 0
|
本人在最近的工作中,需要读取&数据导入Excel,用了jxl组件。在这里我用一个生成(银行,食堂,点)卡的例子,说明具体的方法!
1。数据导入
import jxl.*;
import java.io.File;
import java.io.FileOutputStream;
import java.io.*;
import com.et.util.ComDate;
import com.et.util.StrUtil;
public class WriteToExcel{
public static void writeExcel(OutputStream os) throws Exception {
jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(os);
jxl.write.WritableSheet ws = wwb.createSheet("TestSheet1", 0);
jxl.write.Label labelC = new jxl.write.Label(0, 0, "卡编号");
ws.addCell(labelC);
labelC = new jxl.write.Label(1, 0, "卡密码");
ws.addCell(labelC);
labelC = new jxl.write.Label(2, 0, "卡点数");
ws.addCell(labelC);
labelC = new jxl.write.Label(3, 0, "生成时间");
ws.addCell(labelC);
labelC = new jxl.write.Label(4, 0, "制卡人");
ws.addCell(labelC);
// 此处的密码,卡号,每张卡的编号,生成者都可以从外部传进来,这里主要是为了演示
int nums=5; //生成卡的数量
String allPD="86598,54789,25478,96548,87458";//所有卡的密码,随机生成
String allCardID="20060310001,20060310002,20060310003,20060310004,20060310005";
//所有卡的ID,卡ID也是用StrUtil.generalSrid随机生成的,这里这是为了演示,就随便写了几个
String card_point="100";//每张卡的点数
String operator="admin";//卡的生成者
String cardIds[]=allCardID.split(",");// 所有的卡id
String pd[]=allPD.split(",");//所有的卡密码
String date=ComDate.getDateString(); //此处的ComDate是一个获得当前时间的方法,需要自己写,不是系统自带的
for(int i=0;i
public static void main(String[] args)throws Exception{
//此处路径&文件名都可以从外部传进来
String path="D:\\leslir";
String filename=StrUtil.generalSrid()+".xls"; //StrUtil.generalSrid方法是一个自己写的得到随机数据的方法,一般取得的是系统的毫秒数在加上随机数字
File f=new File(path,filename);
f.createNewFile();
writeExcel(new FileOutputStream(f));
}
}
2.读取数据
/*
* 创建日期 2006-3-10
*
* TODO 要更改此生成的文件的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
package com.test;
import java.io.FileInputStream;
import java.io.InputStream;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
/**
* @author new
*
* TODO 要更改此生成的类型注释的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
public class ReadExcel {
public static void ReadMethod(String filename)throws Exception{
try
{
//首先构造一个输入流
InputStream is = new FileInputStream(filename);
//jxl的Workbook得到这个输入流
jxl.Workbook rwb = Workbook.getWorkbook(is);
//Workbook得到第一个sheet
Sheet[] sheets=rwb.getSheets();//获得当前Excel表共有几个sheet
int p=sheets.length;
System.out.println("此表共有几个sheet------->"+p);
for(int w=0;w
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/13180/showart_83455.html |
|