Apache POI读取和创建Excel ----01(简单操作)

public class ExcelCreatAndRead {

/**
     * 使用Apache POI创建Excel文档
     * */
    public static void createXL(){
        /**Excel文件要存放的位置,假定在D盘下*/
        String outputFile="D:\\test.xlsx";
        try {
        //创建新的Excel工作薄
        XSSFWorkbook workbook =new XSSFWorkbook();
        
        //在Excel工作薄建一工作表,其名为缺省值
//        HSSFSheet sheet=workbook.createSheet();
        //在Excel工作薄建一工作表,其名为“测试”
        XSSFSheet sheet=workbook.createSheet("测试");
        
        //创建第一行
        XSSFRow row =sheet.createRow(0);
//        row.createCell(0).setCellValue("学员信息");
        
        //合并单元格
//        sheet.addMergedRegion(new CellRangeAddress(0,0,0,1));
        
        //在索引0的位置创建行(第一行)
        XSSFRow row1=sheet.createRow(0);
        
        //在索引0的位置创建列(第一列)
        XSSFCell cell=row1.createCell(0);//画横线是代表此方法已过时,不建议使用;
        
        //定义单元格为字符串类型(Excel-设置单元格格式-数字-文本;不设置默认为“常规”,也可以设置成其他的,具体设置参考相关文档)
        cell.setCellType(HSSFCell.CELL_TYPE_STRING);
        
        //在单元格内输入一些内容
        cell.setCellValue("姓名");
        row1.createCell(1).setCellValue("年龄");
        
        //创建第二行:
        XSSFRow row2=sheet.createRow(1);
        row2.createCell(0).setCellValue("张三");
        row2.createCell(1).setCellValue(18);
        
        //创建第三行:
        XSSFRow row3=sheet.createRow(2);
        row3.createCell(0).setCellValue("李四");
        row3.createCell(1).setCellValue(20);
        
        
        //新建一输出文件流
        FileOutputStream fout=new FileOutputStream(outputFile);
        
        //把相应的Excel工作薄存盘
        workbook.write(fout);
        
        //flush();
        //java在使用流时,都会有一个缓冲区,按一种它认为比较高效的方法来发数据:把要发的数据先放到缓冲区,缓冲区放满以后再一次性发过去,而不是分开一次一次地发.
        //而flush()表示强制将缓冲区中的数据发送出去,不必等到缓冲区满.
        //所以如果在用流的时候,没有用flush()这个方法,很多情况下会出现流的另一边读不到数据的问题,特别是在数据特别小的情况下.
        fout.flush();
        
        //操作结束,关闭文件
        fout.close();
        System.out.println("文件生成");
                
        } catch (Exception e) {
            // TODO Auto-generated catch block
            System.out.println("已运行 xlCreate():"+e);
        }
        
    }
    /**读取Excel内容
     * @throws FileNotFoundException */
    public static void readExcel() throws FileNotFoundException{
        FileInputStream file=new FileInputStream("D:\\test.xlsx");
        
        try {
            XSSFWorkbook workbook =new XSSFWorkbook(file);
            XSSFSheet sheet=workbook.getSheet("测试");
            XSSFRow row =sheet.getRow(0);
            XSSFCell cell=row.getCell(0);
            System.out.println(cell.getStringCellValue());
            
            
        } catch (Exception e) {
            // TODO Auto-generated catch block
            System.out.println("已运行 readExcel():"+e);
        }
        
        
        //把导入的内容存在集合中里
        List temp =new ArrayList();
        try {
            XSSFWorkbook workbook =new XSSFWorkbook(new FileInputStream("D:\\test.xlsx"));
            XSSFSheet sheet=workbook.getSheet("测试");
            for(Row r:sheet){
                if(r.getRowNum()<1){
                    continue;
                }
                String name=r.getCell(0).getStringCellValue();
                int age=(int) r.getCell(1).getNumericCellValue();
                temp.add(name);
                temp.add(age);
            }
            
            file.close();
            
            //遍历list temp
            Iterator it = temp.iterator();
            while(it.hasNext()) {
              System.out.print(it.next()+" ");
            }
            System.out.println();
            System.out.println("读取完成");
            
        } catch (Exception e) {
            // TODO Auto-generated catch block
            System.out.println("已运行readExcel"+e);
        }
        
    }

public static void main(String[] args) throws FileNotFoundException {
            createXL();//创建Excel文档

readExcel();//读取Excel内容

}

}

时间: 2024-11-05 15:50:18

Apache POI读取和创建Excel ----01(简单操作)的相关文章

java使用org.apache.poi读取与保存EXCEL文件

---恢复内容开始--- 一.读EXCEL文件 1 package com.ruijie.wis.cloud.utils; 2 3 import java.io.FileInputStream; 4 import java.io.FileNotFoundException; 5 import java.io.IOException; 6 import java.io.InputStream; 7 import java.text.DecimalFormat; 8 import java.util

使用Apache POI 读取Excel文件

生活中用到用到Excel文件的情况很多,什么商品进货单,产品维修单,餐厅的营业额等等.作为程序员,我们该如何读取Excel文件,获取我们想要的资源呢.本篇将讲解如何使用Apache POI读取Excel文件. 准备工作: 1)Apache POI 开发jar包 2)Excel资源文件,包括Excel2003,Excel2007这两种版本分别对应xls.xlsx文件. 本篇已经为您做好准备工作,请点击此处,下载资源文件,你也可以浏览Apace POI官网了解更多详细信息. 简要流程: 获取Work

Java使用POI读取和写入Excel指南

Java使用POI读取和写入Excel指南 做项目时经常有通过程序读取Excel数据,或是创建新的Excel并写入数据的需求: 网上很多经验教程里使用的POI版本都比较老了,一些API在新版里已经废弃,这里基于最新的Apache POI 4.0.1版本来总结一下整个读取和写入Excel的过程,希望能帮助到需要的人 ^_^ 1. 准备工作 1.1 在项目中引入Apache POI相关类库 引入 Apache POI 和 Apache POI-OOXML 这两个类库,Maven坐标如下: <depe

Apache POI – Reading and Writing Excel file in Java

来源于:https://www.mkyong.com/java/apache-poi-reading-and-writing-excel-file-in-java/ In this article, we will discuss about how to read and write an excel file using Apache POI 1. Basic definitions for Apache POI library This section briefly describe a

lucent检索技术之创建索引:使用POI读取txt/word/excel/ppt/pdf内容

在使用lucent检索文档时,必须先为各文档创建索引.索引的创建即读出文档信息(如文档名称.上传时间.文档内容等),然后再经过分词建索引写入到索引文件里.这里主要是总结下读取各类文档内容这一步. 一.之前做过一个小工具也涉及到读取word和excel内容,采用的是com组件的方式来读取.即导入COM库,引入命名空间(using Microsoft.Office.Interop.Word;using Microsoft.Office.Interop.Excel;),然后读代码如下: 读取word

JAVA用POI读取和创建2003和2007版本Excel完美示例

import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.Date; import j

读取Excel表格报错问题总结(用apache POI读取,表格稍微改动就报错导入不进去)

 首先是建立在用apachePOI解析Excel时一定几率是能成功解析导入的,如果一点也不能的话,也可以参考看看我总结的原因,也许也是导致你屡次导入不能的原因之一. 这个问题是前天客户反应的,不用下载的好的模版套进内容再导入的话就报错,怎么也导入不进去,客户即想用从其他直接导出的数据导入我们的产品中用想能自己复制一些其他的内容到自己建立的excel表格中导入进去.今天晚上特意抽出时间来总结一产生这个问题的几个原因. 第一个原因就是,我最后发现我们的产品中excel导入这个组件(用apache

使用Apache POI开源包进行Excel读取

考虑向后兼容以及标准化的问题,我们使用开源工具apache poi进行excel的读取 POI读取的时候将cell里的内容都认为是double,这个与jxl的默认为string不一样 示例代码: https://github.com/tonylee0329/java_lab/blob/master/src/main/java/org/tony/file/ReadExcel.java 遇到的问题 1.POI读取科学计数法,可以使用NumberFormat对数据进行format.千位分隔符是否使用:

apache poi读取excel(03版本之前)

一:首先导入如下三个poi包: 上述三个包下载地址:http://download.csdn.net/detail/wangzihu/8420333 二:示例代码 package com.lenovo.storage.web.util; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; impo