Java 使用jxl.jar 导入导出Excel数据

时间:2021-11-17 09:13:11

开发程序时需要用到 jxl.jar 下载地址:http://nchc.dl.sourceforge.net/sourceforge/jexcelapi/jexcelapi_2_6_6.zip

下载后将zip包解压,复制jxl.jar到你的project的lib包中。


 本程序由两个类组成,可直接复制后运行

Excel.java

Java 使用jxl.jar 导入导出Excel数据package  test;
Java 使用jxl.jar 导入导出Excel数据
Java 使用jxl.jar 导入导出Excel数据
import  java.io.File;
Java 使用jxl.jar 导入导出Excel数据
import  java.io.FileOutputStream;
Java 使用jxl.jar 导入导出Excel数据
import  java.io.IOException;
Java 使用jxl.jar 导入导出Excel数据
import  java.util.Vector;
Java 使用jxl.jar 导入导出Excel数据
Java 使用jxl.jar 导入导出Excel数据
import  jxl.Cell;
Java 使用jxl.jar 导入导出Excel数据
import  jxl.Sheet;
Java 使用jxl.jar 导入导出Excel数据
import  jxl.Workbook;
Java 使用jxl.jar 导入导出Excel数据
import  jxl.format.Alignment;
Java 使用jxl.jar 导入导出Excel数据
import  jxl.format.Colour;
Java 使用jxl.jar 导入导出Excel数据
import  jxl.format.UnderlineStyle;
Java 使用jxl.jar 导入导出Excel数据
import  jxl.format.VerticalAlignment;
Java 使用jxl.jar 导入导出Excel数据
import  jxl.write.Label;
Java 使用jxl.jar 导入导出Excel数据
import  jxl.write.WritableCellFormat;
Java 使用jxl.jar 导入导出Excel数据
import  jxl.write.WritableFont;
Java 使用jxl.jar 导入导出Excel数据
import  jxl.write.WritableSheet;
Java 使用jxl.jar 导入导出Excel数据
import  jxl.write.WritableWorkbook;
Java 使用jxl.jar 导入导出Excel数据
import  jxl.write.WriteException;
Java 使用jxl.jar 导入导出Excel数据
import  jxl.write.biff.RowsExceededException;
Java 使用jxl.jar 导入导出Excel数据
Java 使用jxl.jar 导入导出Excel数据Java 使用jxl.jar 导入导出Excel数据
public   class  Excel  {
Java 使用jxl.jar 导入导出Excel数据
Java 使用jxl.jar 导入导出Excel数据Java 使用jxl.jar 导入导出Excel数据    
/**
Java 使用jxl.jar 导入导出Excel数据     * 导出数据为XLS格式
Java 使用jxl.jar 导入导出Excel数据     * 
@param fileName        文件的名称,可以设为绝对路径,也可以设为相对路径
Java 使用jxl.jar 导入导出Excel数据     * 
@param content        数据的内容
Java 使用jxl.jar 导入导出Excel数据     
*/

Java 使用jxl.jar 导入导出Excel数据Java 使用jxl.jar 导入导出Excel数据    
public static void exportExcel(String fileName, Vector<Person> content) {
Java 使用jxl.jar 导入导出Excel数据        WritableWorkbook wwb;
Java 使用jxl.jar 导入导出Excel数据        FileOutputStream fos;
Java 使用jxl.jar 导入导出Excel数据Java 使用jxl.jar 导入导出Excel数据        
try {
Java 使用jxl.jar 导入导出Excel数据            fos 
= new FileOutputStream(fileName);
Java 使用jxl.jar 导入导出Excel数据            wwb 
= Workbook.createWorkbook(fos);
Java 使用jxl.jar 导入导出Excel数据            WritableSheet ws 
= wwb.createSheet("三国志武将列表"10);        // 创建一个工作表
Java 使用jxl.jar 导入导出Excel数据
Java 使用jxl.jar 导入导出Excel数据            
//    设置单元格的文字格式
Java 使用jxl.jar 导入导出Excel数据
            WritableFont wf = new WritableFont(WritableFont.ARIAL,12,WritableFont.NO_BOLD,false,
Java 使用jxl.jar 导入导出Excel数据                    UnderlineStyle.NO_UNDERLINE,Colour.BLUE);
Java 使用jxl.jar 导入导出Excel数据            WritableCellFormat wcf 
= new WritableCellFormat(wf);
Java 使用jxl.jar 导入导出Excel数据            wcf.setVerticalAlignment(VerticalAlignment.CENTRE); 
Java 使用jxl.jar 导入导出Excel数据            wcf.setAlignment(Alignment.CENTRE); 
Java 使用jxl.jar 导入导出Excel数据            ws.setRowView(
1500);
Java 使用jxl.jar 导入导出Excel数据
Java 使用jxl.jar 导入导出Excel数据            
//    填充数据的内容
Java 使用jxl.jar 导入导出Excel数据
            Person[] p = new Person[content.size()];
Java 使用jxl.jar 导入导出Excel数据Java 使用jxl.jar 导入导出Excel数据            
for (int i = 0; i < content.size(); i++){
Java 使用jxl.jar 导入导出Excel数据                p[i] 
= (Person)content.get(i);
Java 使用jxl.jar 导入导出Excel数据                ws.addCell(
new Label(1, i + 1, p[i].getName(), wcf));
Java 使用jxl.jar 导入导出Excel数据                ws.addCell(
new Label(2, i + 1, p[i].getNickname(), wcf));
Java 使用jxl.jar 导入导出Excel数据                ws.addCell(
new Label(3, i + 1, p[i].getPower(), wcf));
Java 使用jxl.jar 导入导出Excel数据                ws.addCell(
new Label(4, i + 1, p[i].getWit(), wcf));
Java 使用jxl.jar 导入导出Excel数据                ws.addCell(
new Label(5, i + 1, p[i].getPolity(), wcf));
Java 使用jxl.jar 导入导出Excel数据                ws.addCell(
new Label(6, i + 1, p[i].getCharm(), wcf));
Java 使用jxl.jar 导入导出Excel数据                ws.addCell(
new Label(7, i + 1, p[i].getStory(), wcf));
Java 使用jxl.jar 导入导出Excel数据                
if(i == 0)
Java 使用jxl.jar 导入导出Excel数据                    wcf 
= new WritableCellFormat();
Java 使用jxl.jar 导入导出Excel数据            }

Java 使用jxl.jar 导入导出Excel数据
Java 使用jxl.jar 导入导出Excel数据            wwb.write();
Java 使用jxl.jar 导入导出Excel数据            wwb.close();
Java 使用jxl.jar 导入导出Excel数据Java 使用jxl.jar 导入导出Excel数据        }
 catch (IOException e){
Java 使用jxl.jar 导入导出Excel数据Java 使用jxl.jar 导入导出Excel数据        }
 catch (RowsExceededException e){
Java 使用jxl.jar 导入导出Excel数据Java 使用jxl.jar 导入导出Excel数据        }
 catch (WriteException e){}
Java 使用jxl.jar 导入导出Excel数据    }

Java 使用jxl.jar 导入导出Excel数据
Java 使用jxl.jar 导入导出Excel数据Java 使用jxl.jar 导入导出Excel数据    
/**
Java 使用jxl.jar 导入导出Excel数据     * 从Excel文件里读取数据保存到Vector里
Java 使用jxl.jar 导入导出Excel数据     * 
@param fileName        Excel文件的名称
Java 使用jxl.jar 导入导出Excel数据     * 
@return                Vector对象,里面包含从Excel文件里获取到的数据
Java 使用jxl.jar 导入导出Excel数据     
*/

Java 使用jxl.jar 导入导出Excel数据Java 使用jxl.jar 导入导出Excel数据    
public static Vector<Person> importExcel(String fileName){
Java 使用jxl.jar 导入导出Excel数据        Vector
<Person> v = new Vector<Person>();
Java 使用jxl.jar 导入导出Excel数据Java 使用jxl.jar 导入导出Excel数据        
try {
Java 使用jxl.jar 导入导出Excel数据            Workbook book 
= Workbook.getWorkbook(new File(fileName));
Java 使用jxl.jar 导入导出Excel数据            Sheet sheet 
= book.getSheet(0);        // 获得第一个工作表对象 
Java 使用jxl.jar 导入导出Excel数据
            int rows = sheet.getRows();
Java 使用jxl.jar 导入导出Excel数据            
Java 使用jxl.jar 导入导出Excel数据Java 使用jxl.jar 导入导出Excel数据            
for(int i = 0; i < rows; i++{
Java 使用jxl.jar 导入导出Excel数据                Cell [] cell 
= sheet.getRow(i);
Java 使用jxl.jar 导入导出Excel数据                
if(cell.length == 0)
Java 使用jxl.jar 导入导出Excel数据                    
continue;
Java 使用jxl.jar 导入导出Excel数据                
Java 使用jxl.jar 导入导出Excel数据                Person p 
= new Person();
Java 使用jxl.jar 导入导出Excel数据                p.setName(sheet.getCell(
1, i).getContents());
Java 使用jxl.jar 导入导出Excel数据                p.setNickname(sheet.getCell(
2, i).getContents());
Java 使用jxl.jar 导入导出Excel数据                p.setPower(sheet.getCell(
3, i).getContents());
Java 使用jxl.jar 导入导出Excel数据                p.setWit(sheet.getCell(
4, i).getContents());
Java 使用jxl.jar 导入导出Excel数据                p.setPolity(sheet.getCell(
5, i).getContents());
Java 使用jxl.jar 导入导出Excel数据                p.setCharm(sheet.getCell(
6, i).getContents());
Java 使用jxl.jar 导入导出Excel数据                p.setStory(sheet.getCell(
7, i).getContents());
Java 使用jxl.jar 导入导出Excel数据                v.add(p);
Java 使用jxl.jar 导入导出Excel数据            }

Java 使用jxl.jar 导入导出Excel数据
Java 使用jxl.jar 导入导出Excel数据            book.close();
Java 使用jxl.jar 导入导出Excel数据Java 使用jxl.jar 导入导出Excel数据        }
catch(Exception e) {} 
Java 使用jxl.jar 导入导出Excel数据        
return v;
Java 使用jxl.jar 导入导出Excel数据    }

Java 使用jxl.jar 导入导出Excel数据
Java 使用jxl.jar 导入导出Excel数据Java 使用jxl.jar 导入导出Excel数据    
public static void main(String [] args){
Java 使用jxl.jar 导入导出Excel数据        String fileName 
= "test.xls";
Java 使用jxl.jar 导入导出Excel数据        String fileNameNew 
= "testNew.xls";
Java 使用jxl.jar 导入导出Excel数据        
Java 使用jxl.jar 导入导出Excel数据        Person p0 
= new Person("姓名","","武力","智力","政治","魅力","英雄事迹");
Java 使用jxl.jar 导入导出Excel数据        Person p1 
= new Person("赵云","子龙","98","84","83","87","单骑救主!!!");
Java 使用jxl.jar 导入导出Excel数据        Person p2 
= new Person("马超","孟起","98","62","40","88","杀得曹操割须弃袍!!!");
Java 使用jxl.jar 导入导出Excel数据        Person p3 
= new Person("诸葛亮","孔明","55","100","92","93","死后木偶退兵,锦囊杀魏延!!!");
Java 使用jxl.jar 导入导出Excel数据
Java 使用jxl.jar 导入导出Excel数据        Vector
<Person> v = new Vector<Person>();
Java 使用jxl.jar 导入导出Excel数据        v.add(p0);
Java 使用jxl.jar 导入导出Excel数据        v.add(p1);
Java 使用jxl.jar 导入导出Excel数据        v.add(p2);
Java 使用jxl.jar 导入导出Excel数据        v.add(p3);
Java 使用jxl.jar 导入导出Excel数据        
Java 使用jxl.jar 导入导出Excel数据        exportExcel(fileName, v);
Java 使用jxl.jar 导入导出Excel数据        System.out.println(
"成功导出数据到Excel文件(" + fileName + ")了!!!");
Java 使用jxl.jar 导入导出Excel数据        
Java 使用jxl.jar 导入导出Excel数据        Vector
<Person> vector = importExcel(fileName);
Java 使用jxl.jar 导入导出Excel数据        System.out.println(
"成功从Excel文件(" + fileName + ")导入数据!!!");
Java 使用jxl.jar 导入导出Excel数据        
Java 使用jxl.jar 导入导出Excel数据        exportExcel(fileNameNew, vector);
Java 使用jxl.jar 导入导出Excel数据        System.out.println(
"成功将" + fileName + "里的数据手复制到" + fileNameNew + "中!!!");
Java 使用jxl.jar 导入导出Excel数据    }

Java 使用jxl.jar 导入导出Excel数据}

Java 使用jxl.jar 导入导出Excel数据

 

Person.java

Java 使用jxl.jar 导入导出Excel数据package  test;
Java 使用jxl.jar 导入导出Excel数据
Java 使用jxl.jar 导入导出Excel数据Java 使用jxl.jar 导入导出Excel数据
public   class  Person  {
Java 使用jxl.jar 导入导出Excel数据    
private String name;
Java 使用jxl.jar 导入导出Excel数据    
private String nickname;
Java 使用jxl.jar 导入导出Excel数据    
private String power;
Java 使用jxl.jar 导入导出Excel数据    
private String wit;
Java 使用jxl.jar 导入导出Excel数据    
private String polity;
Java 使用jxl.jar 导入导出Excel数据    
private String charm;
Java 使用jxl.jar 导入导出Excel数据    
private String story;
Java 使用jxl.jar 导入导出Excel数据    
Java 使用jxl.jar 导入导出Excel数据Java 使用jxl.jar 导入导出Excel数据    
public Person(){
Java 使用jxl.jar 导入导出Excel数据        
Java 使用jxl.jar 导入导出Excel数据    }

Java 使用jxl.jar 导入导出Excel数据    
Java 使用jxl.jar 导入导出Excel数据    
public Person(String name, String nickname, String power, String wit,
Java 使用jxl.jar 导入导出Excel数据Java 使用jxl.jar 导入导出Excel数据            String polity, String charm, String story) 
{
Java 使用jxl.jar 导入导出Excel数据        
super();
Java 使用jxl.jar 导入导出Excel数据        
this.name = name;
Java 使用jxl.jar 导入导出Excel数据        
this.nickname = nickname;
Java 使用jxl.jar 导入导出Excel数据        
this.power = power;
Java 使用jxl.jar 导入导出Excel数据        
this.wit = wit;
Java 使用jxl.jar 导入导出Excel数据        
this.polity = polity;
Java 使用jxl.jar 导入导出Excel数据        
this.charm = charm;
Java 使用jxl.jar 导入导出Excel数据        
this.story = story;
Java 使用jxl.jar 导入导出Excel数据    }

Java 使用jxl.jar 导入导出Excel数据    
Java 使用jxl.jar 导入导出Excel数据Java 使用jxl.jar 导入导出Excel数据    
public String getName() {
Java 使用jxl.jar 导入导出Excel数据        
return name;
Java 使用jxl.jar 导入导出Excel数据    }

Java 使用jxl.jar 导入导出Excel数据Java 使用jxl.jar 导入导出Excel数据    
public void setName(String name) {
Java 使用jxl.jar 导入导出Excel数据        
this.name = name;
Java 使用jxl.jar 导入导出Excel数据    }

Java 使用jxl.jar 导入导出Excel数据Java 使用jxl.jar 导入导出Excel数据    
public String getNickname() {
Java 使用jxl.jar 导入导出Excel数据        
return nickname;
Java 使用jxl.jar 导入导出Excel数据    }

Java 使用jxl.jar 导入导出Excel数据Java 使用jxl.jar 导入导出Excel数据    
public void setNickname(String nickname) {
Java 使用jxl.jar 导入导出Excel数据        
this.nickname = nickname;
Java 使用jxl.jar 导入导出Excel数据    }

Java 使用jxl.jar 导入导出Excel数据Java 使用jxl.jar 导入导出Excel数据    
public String getPower() {
Java 使用jxl.jar 导入导出Excel数据        
return power;
Java 使用jxl.jar 导入导出Excel数据    }

Java 使用jxl.jar 导入导出Excel数据Java 使用jxl.jar 导入导出Excel数据    
public void setPower(String power) {
Java 使用jxl.jar 导入导出Excel数据        
this.power = power;
Java 使用jxl.jar 导入导出Excel数据    }

Java 使用jxl.jar 导入导出Excel数据Java 使用jxl.jar 导入导出Excel数据    
public String getWit() {
Java 使用jxl.jar 导入导出Excel数据        
return wit;
Java 使用jxl.jar 导入导出Excel数据    }

Java 使用jxl.jar 导入导出Excel数据Java 使用jxl.jar 导入导出Excel数据    
public void setWit(String wit) {
Java 使用jxl.jar 导入导出Excel数据        
this.wit = wit;
Java 使用jxl.jar 导入导出Excel数据    }

Java 使用jxl.jar 导入导出Excel数据Java 使用jxl.jar 导入导出Excel数据    
public String getPolity() {
Java 使用jxl.jar 导入导出Excel数据        
return polity;
Java 使用jxl.jar 导入导出Excel数据    }

Java 使用jxl.jar 导入导出Excel数据Java 使用jxl.jar 导入导出Excel数据    
public void setPolity(String polity) {
Java 使用jxl.jar 导入导出Excel数据        
this.polity = polity;
Java 使用jxl.jar 导入导出Excel数据    }

Java 使用jxl.jar 导入导出Excel数据Java 使用jxl.jar 导入导出Excel数据    
public String getCharm() {
Java 使用jxl.jar 导入导出Excel数据        
return charm;
Java 使用jxl.jar 导入导出Excel数据    }

Java 使用jxl.jar 导入导出Excel数据Java 使用jxl.jar 导入导出Excel数据    
public void setCharm(String charm) {
Java 使用jxl.jar 导入导出Excel数据        
this.charm = charm;
Java 使用jxl.jar 导入导出Excel数据    }

Java 使用jxl.jar 导入导出Excel数据Java 使用jxl.jar 导入导出Excel数据    
public String getStory() {
Java 使用jxl.jar 导入导出Excel数据        
return story;
Java 使用jxl.jar 导入导出Excel数据    }

Java 使用jxl.jar 导入导出Excel数据Java 使用jxl.jar 导入导出Excel数据    
public void setStory(String story) {
Java 使用jxl.jar 导入导出Excel数据        
this.story = story;
Java 使用jxl.jar 导入导出Excel数据    }

Java 使用jxl.jar 导入导出Excel数据    
Java 使用jxl.jar 导入导出Excel数据}

Java 使用jxl.jar 导入导出Excel数据

 

运行程序后,你的project里将会自动生成一个test.xls文件,双击打开就可以看到导出的数据了。

 

本文发表后,许多网友来信说无法编译运行。鉴于此,特地对本文作以下补充。

其实本文的代码是在IDE中编译运行的,如果是用命令行窗口的模式编译运行的话,需要注意以下两点:

1、去除两个类中的第一行代码,即:package test;

2、配置好环境变量,特别是记得在classpath中设置jxl.jar的所在路径。