selenium使用POI导入导出excel

来源:互联网 发布:java随机数生成器 编辑:程序博客网 时间:2024/05/29 13:56

如果代码只创建了XSSFWorkbook,没有创建XSSFSheet的话,创建的excel是打不开的
一、调用excel文件里面的内容
import java.io.File;import java.io.FileInputStream;import java.util.Iterator;import org.apache.poi.ss.usermodel.Cell;import org.apache.poi.ss.usermodel.Row;import org.apache.poi.xssf.usermodel.XSSFRow;import org.apache.poi.xssf.usermodel.XSSFSheet;import org.apache.poi.xssf.usermodel.XSSFWorkbook;public class Readsheet {   static XSSFRow row;   public static void main(String[] args) throws Exception    {      FileInputStream fis = new FileInputStream(      new File("WriteSheet.xlsx"));      XSSFWorkbook workbook = new XSSFWorkbook(fis);      XSSFSheet spreadsheet = workbook.getSheetAt(0);      Iterator < Row > rowIterator = spreadsheet.iterator();      while (rowIterator.hasNext())       {         row = (XSSFRow) rowIterator.next();         Iterator < Cell > cellIterator = row.cellIterator();         while ( cellIterator.hasNext())          {            Cell cell = cellIterator.next();            switch (cell.getCellType())             {               case Cell.CELL_TYPE_NUMERIC:               System.out.print(                cell.getNumericCellValue() + " \t\t " );               break;               case Cell.CELL_TYPE_STRING:               System.out.print(               cell.getStringCellValue() + " \t\t " );               break;            }         }         System.out.println();      }      fis.close();   }}

二、将内容写入到excel中
import java.io.File;import java.io.FileOutputStream;import java.util.Map;import java.util.Set;import java.util.TreeMap;import org.apache.poi.ss.usermodel.Cell;import org.apache.poi.xssf.usermodel.XSSFRow;import org.apache.poi.xssf.usermodel.XSSFSheet;import org.apache.poi.xssf.usermodel.XSSFWorkbook;public class Writesheet {   public static void main(String[] args) throws Exception    {      //Create blank workbook      XSSFWorkbook workbook = new XSSFWorkbook();       //Create a blank sheet      XSSFSheet spreadsheet = workbook.createSheet(       " Employee Info ");      //Create row object      XSSFRow row;      //This data needs to be written (Object[])      Map < String, Object[] > empinfo =       new TreeMap < String, Object[] >();      empinfo.put( "1", new Object[] {       "EMP ID", "EMP NAME", "DESIGNATION" });      empinfo.put( "2", new Object[] {       "tp01", "Gopal", "Technical Manager" });      empinfo.put( "3", new Object[] {       "tp02", "Manisha", "Proof Reader" });      empinfo.put( "4", new Object[] {       "tp03", "Masthan", "Technical Writer" });      empinfo.put( "5", new Object[] {       "tp04", "Satish", "Technical Writer" });      empinfo.put( "6", new Object[] {       "tp05", "Krishna", "Technical Writer" });      //Iterate over data and write to sheet      Set < String > keyid = empinfo.keySet();      int rowid = 0;      for (String key : keyid)      {         row = spreadsheet.createRow(rowid++);         Object [] objectArr = empinfo.get(key);         int cellid = 0;         for (Object obj : objectArr)         {            Cell cell = row.createCell(cellid++);            cell.setCellValue((String)obj);         }      }      //Write the workbook in file system      FileOutputStream out = new FileOutputStream(       new File("Writesheet.xlsx"));      workbook.write(out);      out.close();      System.out.println(       "Writesheet.xlsx written successfully" );   }}