java 读取 并 写入一个新的Excle
2017-11-29 15:39
218 查看
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 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(); } } 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(); } } }
相关文章推荐
- java关于读取数据后简单写入一个文件中的总结
- java读取excel获取数据写入到另外一个excel
- java字节流的方式复制一个文件,按数组读取和写入
- 一个java读取word文档并将其写入xml文档的例子
- java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容
- java读取数据写入txt文件并将读取txt文件写入另外一个表
- 用java的poi类读取一个excel表格的内容后再写入到一个新excel表格中的完整代码
- 如何使用JavaExcel(jxl)读取一个文件并写入一个新文件
- java读取输入流并保存成一个文件
- java中读取一个文件夹中全部文件名
- 【Java学习笔记】基础知识学习17【文件文本读取写入】
- Java 读取TXT文件和写入TxT文件
- java-IO读取和写入
- java读取Mysql数据库写入hdfs
- Java读取和写入文件
- java:大数据文件写入,读取,分割,排序,合并
- java读取与写入excel(.xls .xlsx)
- 【java IO】使用Java输入输出流 读取txt文件内数据,进行拼接后写入到另一个文件中
- Excel学习1_Java读取文件中的内容写入excel中
- Java 按行读取文件按行写入文件并以空格分割字符串