标签:
1、实现方法:
现在有三种方法去实现:jxl 、poi 、 FastExcel:97~2003
在这里只讲poi实现方法。poi的包可以去Apache官网上去下载:http://poi.apache.org/download.html
2、poi实现
【1】低版本的导入导出方法:
需要导入jar包:
生成EXCEL:
1 import java.io.File; 2 import java.io.FileOutputStream; 3 import java.io.IOException; 4 5 import org.apache.commons.io.FileUtils; 6 import org.apache.poi.hssf.usermodel.HSSFCell; 7 import org.apache.poi.hssf.usermodel.HSSFRow; 8 import org.apache.poi.hssf.usermodel.HSSFSheet; 9 import org.apache.poi.hssf.usermodel.HSSFWorkbook; 10 11 12 public class PoiExpExcel { 13 14 /** 15 * 生成Excel文件 16 */ 17 public static void main(String[] args) { 18 String[] title = {"id", "name", "sex"}; 19 //创建工作薄 20 HSSFWorkbook workbook = new HSSFWorkbook(); 21 //创建一个工作表sheet 22 HSSFSheet sheet = workbook.createSheet(); 23 //创建爱你第一行 24 HSSFRow row = sheet.createRow(0); 25 HSSFCell cell = null; 26 //插入第一行数据id、name、sex 27 for (int i = 0; i < title.length; i++) { 28 cell = row.createCell(i); 29 cell.setCellValue(title[i]); 30 31 } 32 //追加数据 33 for(int i = 1; i <= 10; i++) { 34 HSSFRow nextrow = sheet.createRow(i); 35 HSSFCell cell2 = nextrow.createCell(0); 36 cell2.setCellValue("" + i); 37 cell2 =nextrow.createCell(1); 38 cell2.setCellValue("user" + i); 39 cell2 =nextrow.createCell(2); 40 cell2.setCellValue("男"); 41 } 42 43 44 //创建一个文件 45 File file =new File("C:/Users/Administrator/Desktop/demo1.xls"); //在这里填写存放路径 46 try { 47 file.createNewFile(); 48 FileOutputStream stream = FileUtils.openOutputStream(file); 49 workbook.write(stream); 50 51 } catch (Exception e) { 52 // TODO Auto-generated catch block 53 e.printStackTrace(); 54 } 55 } 56 }
解析EXCEL:
1 import java.io.File; 2 import java.io.IOException; 3 4 import org.apache.commons.io.FileUtils; 5 import org.apache.poi.hssf.usermodel.HSSFCell; 6 import org.apache.poi.hssf.usermodel.HSSFRow; 7 import org.apache.poi.hssf.usermodel.HSSFSheet; 8 import org.apache.poi.hssf.usermodel.HSSFWorkbook; 9 10 11 public class PoiReadExcel { 12 13 public static void main(String[] args) { 14 /** 15 * 解析Excel文件 16 */ 17 File file = new File("C:/Users/Administrator/Desktop/demo1.xls"); 18 try { 19 HSSFWorkbook workbook = 20 new HSSFWorkbook(FileUtils.openInputStream(file)); 21 //获取第一个工作表workbook.getSheet("Sheet0"); 22 // HSSFSheet sheet = workbook.getSheet("Sheet0"); 23 //读取默认第一个工作表sheet 24 HSSFSheet sheet = workbook.getSheetAt(0); 25 int firstRowNum = 0; 26 //获取sheet中最后一行行号 27 int lastRowNum = sheet.getLastRowNum(); 28 for(int i = firstRowNum; i <= lastRowNum; i++) { 29 HSSFRow row = sheet.getRow(i); 30 //获取当前行最后单元格列号 31 int lastCellNum = row.getLastCellNum(); 32 for(int j = 0; j < lastCellNum; j++) { 33 HSSFCell cell = row.getCell(j); 34 String value = cell.getStringCellValue(); 35 System.out.print(value + " "); 36 } 37 System.out.println(); 38 } 39 } catch (IOException e) { 40 // TODO Auto-generated catch block 41 e.printStackTrace(); 42 } 43 } 44 }
【2】高版本导入导出的方法:
需要导入包:
生成EXCEL:
1 import java.io.File; 2 import java.io.FileOutputStream; 3 4 import org.apache.commons.io.FileUtils; 5 import org.apache.poi.xssf.usermodel.*; 6 7 8 public class CopyOfPoiExp07Excel { 9 10 /** 11 * 生成Excel文件 12 */ 13 public static void main(String[] args) { 14 String[] title = {"id", "name", "sex"}; 15 //创建工作薄 16 XSSFWorkbook workbook = new XSSFWorkbook(); 17 //创建一个工作表sheet 18 XSSFSheet sheet = workbook.createSheet(); 19 //创建爱你第一行 20 XSSFRow row = sheet.createRow(0); 21 XSSFCell cell = null; 22 //插入第一行数据id、name、sex 23 for (int i = 0; i < title.length; i++) { 24 cell = row.createCell(i); 25 cell.setCellValue(title[i]); 26 27 } 28 //追加数据 29 for(int i = 1; i <= 10; i++) { 30 XSSFRow nextrow = sheet.createRow(i); 31 XSSFCell cell2 = nextrow.createCell(0); 32 cell2.setCellValue("" + i); 33 cell2 =nextrow.createCell(1); 34 cell2.setCellValue("user" + i); 35 cell2 =nextrow.createCell(2); 36 cell2.setCellValue("男"); 37 } 38 39 40 //创建一个文件 41 File file =new File("C:/Users/Administrator/Desktop/demo1.xlsx"); 42 try { 43 file.createNewFile(); 44 FileOutputStream stream = FileUtils.openOutputStream(file); 45 workbook.write(stream); 46 47 } catch (Exception e) { 48 // TODO Auto-generated catch block 49 e.printStackTrace(); 50 } 51 } 52 }
解析EXCEL:
1 import java.io.File; 2 import java.io.IOException; 3 4 import org.apache.commons.io.FileUtils; 5 import org.apache.poi.xssf.usermodel.XSSFCell; 6 import org.apache.poi.xssf.usermodel.XSSFRow; 7 import org.apache.poi.xssf.usermodel.XSSFSheet; 8 import org.apache.poi.xssf.usermodel.XSSFWorkbook; 9 10 11 public class CopyOfPoiRead07Excel { 12 13 public static void main(String[] args) { 14 //需要解析的Excel文件 15 File file = new File("C:/Users/Administrator/Desktop/demo1.xls"); 16 try { 17 XSSFWorkbook workbook = 18 new XSSFWorkbook(FileUtils.openInputStream(file)); 19 //获取第一个工作表workbook.getSheet("Sheet0"); 20 // XSSFSheet sheet = workbook.getSheet("Sheet0"); 21 //读取默认第一个工作表sheet 22 XSSFSheet sheet = workbook.getSheetAt(0); 23 int firstRowNum = 0; 24 //获取sheet中最后一行行号 25 int lastRowNum = sheet.getLastRowNum(); 26 for(int i = firstRowNum; i <= lastRowNum; i++) { 27 XSSFRow row = sheet.getRow(i); 28 //获取当前行最后单元格列号 29 int lastCellNum = row.getLastCellNum(); 30 for(int j = 0; j < lastCellNum; j++) { 31 XSSFCell cell = row.getCell(j); 32 String value = cell.getStringCellValue(); 33 System.out.print(value + " "); 34 } 35 System.out.println(); 36 } 37 } catch (IOException e) { 38 // TODO Auto-generated catch block 39 e.printStackTrace(); 40 } 41 } 42 }
生成文件:
读取结果均为:
标签:
原文地址:http://www.cnblogs.com/DeepinSky/p/5943217.html