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均支持
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(); } } }
原文:http://www.cnblogs.com/gavinYang/p/3576819.html