首页 > 其他 > 详细

JXL读取,写入Excel

时间:2014-03-03 13:55:38      阅读:597      评论:0      收藏:0      [点我收藏+]

JXL读取,写入Excel

相关阅读:
poi 读写excel2003:http://www.cnblogs.com/gavinYang/p/3576739.html
poi 读写excel2007:http://www.cnblogs.com/gavinYang/p/3576741.html

Jxl读取excel仅支持2003,写入excel2003,2007均支持

bubuko.com,布布扣
package com.write;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

public class JSXWriteExcelXls {

    public static void main(String[] args) {

        //只支持读取2003
        //readExcel(new File("e:/外汇项目/国际收支申报字段坐标关联3.xls")); 
        
        Map<Integer, List<String[]>> map = readExcel(new File("e:/读取excel.xls")); 
        for(int n=0;n<map.size();n++){
            List<String[]> list = map.get(n);
            System.out.println("-------------------------sheet"+n+"--------------------------------");
            for(int i=0;i<list.size();i++){
                String[] arr = (String[]) list.get(i);
                for(int j=0;j<arr.length;j++){
                    if(j==arr.length-1)
                        System.out.print(arr[j]);
                    else
                        System.out.print(arr[j]+"|");
                }
                System.out.println();
            }
        }
        
        //写入Excel,2003/2007均可以
        writeExcel(new File("e:/写入excel.xls"),map);
    }

    public static Map<Integer, List<String[]>> readExcel(File file) {
        Map<Integer, List<String[]>> map = new HashMap<Integer, List<String[]>>();
        try {
            Workbook wb = Workbook.getWorkbook(file);
            for(int n=0;n<wb.getSheets().length;n++){
                Sheet sheet = wb.getSheet(n);
                if (sheet == null) {
                    continue;
                }
                List<String[]> list = new ArrayList<String[]>();
                for (int i = 0; i < sheet.getRows(); i++) {
                    Cell[] row = sheet.getRow(i);
                    if (row == null) {
                        continue;
                    }
                    String[] singleRow = new String[row.length];
                    for (int j = 0; j < sheet.getColumns(); j++) {
                        Cell cell = sheet.getCell(j, i); // 列 行
                        //获取Cell的类型:cell.getType()   类型的枚举CellType.xxx
                        singleRow[j] = cell.getContents();
                    }
                    list.add(singleRow);
                }
                map.put(n, list);
            }
        } catch (BiffException e) {
            // TODO 自动生成的 catch 块
            e.printStackTrace();
        } catch (IOException e) {
            // TODO 自动生成的 catch 块
            e.printStackTrace();
        }
        return map;
    }

    
    public static void writeExcel(File file,Map<Integer, List<String[]>> map) {
        try {
            // 创建文件
            WritableWorkbook book = Workbook.createWorkbook(file);
            for(int n=0;n<map.size();n++){
                WritableSheet sheet = book.createSheet("sheet"+(n+1), n);
                List<String[]> list = map.get(n);
                for(int i=0;i<list.size();i++){
                    String[] arr = list.get(i);
                    for(int j=0;j<arr.length;j++){
                        sheet.addCell(new Label(j, i, arr[j]));
                    }
                }
            }
            book.write();
            book.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
bubuko.com,布布扣

JXL读取,写入Excel,布布扣,bubuko.com

JXL读取,写入Excel

原文:http://www.cnblogs.com/gavinYang/p/3576819.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!