zoukankan      html  css  js  c++  java
  • java ---读取文件

    读取文件

    读取文件第一行的内容显示出来放在列表中,并打印出第一个单元格的内容。


    xlsx文件:

    代码

    '''

      import java.io.FileInputStream;
      import java.io.InputStream;
      import java.text.SimpleDateFormat;
      import java.util.ArrayList;
      import java.util.Date;
      import java.util.List;
      import java.io.File;
      import java.io.FileInputStream;
      import java.io.IOException; 
      import java.util.Map;
      import java.util.HashMap;
    
      import org.apache.poi.ss.usermodel.Cell;
      import org.apache.poi.ss.usermodel.DateUtil;
      import org.apache.poi.xssf.usermodel.XSSFCell;
      import org.apache.poi.xssf.usermodel.XSSFRow;
      import org.apache.poi.xssf.usermodel.XSSFSheet;
      import org.apache.poi.xssf.usermodel.XSSFWorkbook;
      import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    
      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.xssf.usermodel.XSSFWorkbook;
    
      public  class  fileinput{
             public static void main(String [] args) {
           System.out.println("start");
           getInputData("book1.xlsx");
           System.out.println(inputdata.get("max"));//打印整行内容
           System.out.println(inputdata.get("max").get(0));//打印单元格的内容
     
       }
    public static Map<String,List<Double>> inputdata = new HashMap<String, List<Double>>();//inputdata用来存储input.xlsx常量,key是String类型,取出                        
     //的数据存放在List
    //获取input.xlsx常量
    public static void getInputData (String fileName) {//getInputdata静态方法
    	File inputFile = new File(fileName);//inputfile对象
    	
    	XSSFWorkbook wb = null;//初始化wb
    	try {
          wb = new XSSFWorkbook(new FileInputStream(inputFile));
      } catch (IOException e) {
          e.printStackTrace();
      }
    	
    	int numberOfSheets = wb.getNumberOfSheets();//获取sheet数
    	for (int x = 0; x < numberOfSheets; x++) {//循环sheet
          XSSFSheet sheet = wb.getSheetAt(x);//对象
          for(int rowNum=0; rowNum<=sheet.getLastRowNum();rowNum++){//循环行数				
    			XSSFRow xssfRow = sheet.getRow(rowNum);	//对象	
    			if (null != xssfRow) {
    				String[] singleRow = new String[sheet.getLastRowNum()];//存储每一行数据
    				
                    int n = 0;
    				for(int cosNum=0;cosNum<xssfRow.getLastCellNum();cosNum++){	//循环一行中所有单元格	
    				XSSFCell cell = xssfRow.getCell(cosNum);//获取单元格的内容
                      switch (cell.getCellType()) {//判断单元格数据类型
                         
                          case Cell.CELL_TYPE_NUMERIC:
                              if (!DateUtil.isCellDateFormatted(cell)) {//不是日期类型时
                                  cell.setCellType(Cell.CELL_TYPE_STRING);//设置单元格的数据类型为字符串类型
                                  String temp = cell.getStringCellValue();//读取单元格的数据
                                  if ( inputdata.get(singleRow[0]) != null){//读取到的第一行不为空时
                                  	inputdata.get(singleRow[0]).add(new Double(temp));//数据加到第一行
                                  } else {//为空时,将读取的数据放入LIST中,将LIST加入inputdata 的第一行
                                  	List<Double> db = new ArrayList<Double>();
                                  	db.add(new Double(temp));
                                  	inputdata.put(singleRow[0], db);
                                  }
                              }
                              break;
                          case Cell.CELL_TYPE_STRING:
                              singleRow[n] = cell.getStringCellValue().trim();
                              break;
                      }
                      n++;
    				}
    			}
          }
    	}
    }
    

    }

    相关的jar包:
    自行下载,并放入工程文件架下lib中。
    xlsx文件可以自行创建。

    学习让我快乐,工作让我快乐。学习和工作都是为了更好的生活!
  • 相关阅读:
    幕客前端基础入门-html表单
    幕客前端基础入门-html表格
    幕客前端基础入门-html基础
    尚硅谷nginx教程-7nginx原理
    尚硅谷nginx教程-7nginx配置示例-配置高可用的集群
    尚硅谷nginx教程-6nginx配置示例-动静分离
    尚硅谷nginx教程-5nginx配置示例-负载均衡
    尚硅谷nginx教程-4nginx配置示例-反向代理
    尚硅谷nginx教程-3nginx常用命令和配置文件
    尚硅谷nginx教程-1nginx简介
  • 原文地址:https://www.cnblogs.com/xyuanzi/p/13711114.html
Copyright © 2011-2022 走看看