• 简单poi读取excel


    1.添加依赖jar包

    maven配置:

    <!-- poi being -->
        <dependency>
           <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.9</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.9</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml-schemas</artifactId>
            <version>3.9</version>
        </dependency>
    <!-- poi end -->                

    或者,不是maven项目的话,直接在buildpath中添加jar包:

    2.读取excel简单例子

    package com.demo.excel.execute;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    
    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.ss.usermodel.Workbook;
    import org.apache.poi.ss.usermodel.WorkbookFactory;
    
    import com.demo.excel.modle.example.Book;
    
    /**
     * 
     * @ClassName: ReadBooks
     * @Description: 读取图书列表excel
     * @author LCL
     * @date 2016年9月2日
     *
     */
    public class ReadBooks {
        private Workbook workbook;
        private Sheet sheet;
        private Row row;
        private List<Book> books = new ArrayList<Book>();
    
        /**
         * 
         * @Title: readFile
         * @Description: 将文件读入内存
         * @param @param
         *            filePath 文件路径
         * @return void null
         */
        public void readFile(String filePath) {
            try {
                File excelFile = new File(filePath);
                FileInputStream is = new FileInputStream(excelFile);
                workbook = WorkbookFactory.create(is);
                sheet = workbook.getSheetAt(0);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        
        /**
         * 
        * @Title: readLine
        * @Description: 读取每一行的图书信息
        * @return void null
         */
        public void readLine() {
            Iterator<Row> rows = sheet.rowIterator();
            while (rows.hasNext()) {
                row = (Row) rows.next();
                if (row.getRowNum() ==0 ) {
                    continue;
                }
                Book book = new Book();
                Iterator<Cell> cells = row.cellIterator();
                while (cells.hasNext()) {
                    Cell cell = (Cell) cells.next();
                    if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC && cell.getColumnIndex() == 0) {
                        book.setCode((int)cell.getNumericCellValue());
                        continue;
                    }
                    if (cell.getColumnIndex() == 1) {
                        book.setName(cell.getStringCellValue());
                        continue;
                    }
                    if (cell.getColumnIndex() == 2) {
                        book.setPress(cell.getStringCellValue());
                        continue;
                    }
                    if (cell.getColumnIndex() == 3) {
                        book.setDate(cell.getDateCellValue());
                    }
                }
                books.add(book);
            }
        }
    
        public List<Book> getBooks() {
            return books;
        }
    }

    Book.java

    package com.demo.excel.modle.example;
    
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class Book {
        private int code;
        private String name;
        private String press;
        private Date date;
        public int getCode() {
            return code;
        }
        public void setCode(int code) {
            this.code = code;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getPress() {
            return press;
        }
        public void setPress(String press) {
            this.press = press;
        }
        public Date getDate() {
            return date;
        }
        public void setDate(Date date) {
            this.date = date;
        }
        @Override
        public String toString() {
            return "Book [code=" + code + ", name=" + name + ", press=" + press + ", date=" + formatDate(date) + "]";
        }
        
        private String formatDate(Date date) {
            DateFormat format = new SimpleDateFormat("yyyy/MM/dd");
            return format.format(date);
        }
    }

    测试:

    package com.demo.excel.db;
    
    import com.demo.excel.execute.ReadBooks;
    
    import junit.framework.TestCase;
    
    public class ReadBooksTest extends TestCase {
        private final String path = "E:/lichenli/storage/file/book.xlsx";
        public void testReadBook() {
            ReadBooks readbooks = new ReadBooks();
            readbooks.readFile(path);
            readbooks.readLine();
            assertEquals(6, readbooks.getBooks().size());
        }
    }

    文件内容

  • 相关阅读:
    KTorrent 2.1
    Krusader-双面板文件治理器
    VirtualBox 1.3.4
    QEMU 0.9.0 & QEMU Accelerator 1.3.0pre10
    Sweep:音频编辑器材
    USBSink-优盘同步备份东西
    玩转 MPlayer(1)
    玩转 MPlayer(2)
    活动目录之迁移
    再学 GDI+[26]: TGPPen 画笔对齐 SetAlignment
  • 原文地址:https://www.cnblogs.com/lclq/p/5833343.html
Copyright © 2020-2023  润新知