zoukankan      html  css  js  c++  java
  • java poi read write xlsx

    package myjava;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.sql.Date;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.Set;
    
    import org.apache.poi.ss.usermodel.Cell;
    import org.apache.poi.ss.usermodel.Row;
    import org.apache.poi.ss.usermodel.Sheet;
    import org.apache.poi.xssf.usermodel.XSSFSheet;
    import org.apache.poi.xssf.usermodel.XSSFWorkbook;
    
    /**
     * Sample Java program to read and write Excel file in Java using Apache POI
     * http
     * ://java67.blogspot.tw/2014/09/how-to-read-write-xlsx-file-in-java-apache-poi
     * -example.html
     */
    public class XLSXReaderWriter {
    
    	public static void main(String[] args) {
    
    		try {
    			File excel = new File("/mnt/data/test.xlsx");
    
    			writeXlsx(excel);
    			readXlsx(excel);
    
    		} catch (FileNotFoundException fe) {
    			fe.printStackTrace();
    		} catch (IOException ie) {
    			ie.printStackTrace();
    		}
    	}
    
    	static void writeXlsx(File excel) throws IOException {
    
    		XSSFWorkbook book = new XSSFWorkbook();
    		Sheet sheet = book.createSheet();
    		// writing data into XLSX file
    		Map<String, Object[]> newData = new HashMap<String, Object[]>();
    		newData.put("7", new Object[] { 7d, "Sonya", "75K", "SALES", "Rupert" });
    		newData.put("8", new Object[] { 8d, "Kris", "85K", "SALES", "Rupert" });
    		newData.put("9", new Object[] { 9d, "Dave", "90K", "SALES", "Rupert" });
    
    		Set<String> newRows = newData.keySet();
    		int rownum = sheet.getLastRowNum();
    
    		for (String key : newRows) {
    			Row row = sheet.createRow(rownum++);
    			Object[] objArr = newData.get(key);
    			int cellnum = 0;
    			for (Object obj : objArr) {
    				Cell cell = row.createCell(cellnum++);
    				if (obj instanceof String) {
    					cell.setCellValue((String) obj);
    				} else if (obj instanceof Boolean) {
    					cell.setCellValue((Boolean) obj);
    				} else if (obj instanceof Date) {
    					cell.setCellValue((Date) obj);
    				} else if (obj instanceof Double) {
    					cell.setCellValue((Double) obj);
    				}
    			}
    		}
    
    		// open an OutputStream to save written data into Excel file
    		FileOutputStream os = new FileOutputStream(excel);
    		book.write(os);
    		System.out.println("Writing on Excel file Finished ...");
    
    		// Close workbook, OutputStream and Excel file to prevent leak
    		os.close();
    	}
    
    	static void readXlsx(File excel) throws IOException {
    
    		FileInputStream fis = new FileInputStream(excel);
    		XSSFWorkbook book = new XSSFWorkbook(fis);
    		XSSFSheet sheet = book.getSheetAt(0);
    
    		Iterator<Row> itr = sheet.iterator();
    
    		// Iterating over Excel file in Java
    		while (itr.hasNext()) {
    			Row row = itr.next();
    
    			// Iterating over each column of Excel file
    			Iterator<Cell> cellIterator = row.cellIterator();
    			while (cellIterator.hasNext()) {
    
    				Cell cell = cellIterator.next();
    
    				switch (cell.getCellType()) {
    				case Cell.CELL_TYPE_STRING:
    					System.out.print(cell.getStringCellValue() + "	");
    					break;
    				case Cell.CELL_TYPE_NUMERIC:
    					System.out.print(cell.getNumericCellValue() + "	");
    					break;
    				case Cell.CELL_TYPE_BOOLEAN:
    					System.out.print(cell.getBooleanCellValue() + "	");
    					break;
    				default:
    
    				}
    			}
    			System.out.println("");
    		}
    		book.close();
    		fis.close();
    
    	}
    }
    Maven dependencies for poi:

    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>3.11</version>
    </dependency>

        <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>3.11</version>
    </dependency>

     
    Looking for a job working at Home about MSBI
  • 相关阅读:
    [转载]Oracle查看当前用户权限
    [转载]Oracle查看当前用户权限
    UltraEdit实用技巧
    _splitpath,_makepath分析路径
    [ZT]让你的软件界面更漂亮(1、2)
    [book]程序员修炼之道
    考考你的C++水平
    将*.STL转换成顶点索引格式
    JBuilder 2006 企业完整版
    [book]道法自然
  • 原文地址:https://www.cnblogs.com/huaxiaoyao/p/4367610.html
Copyright © 2011-2022 走看看