java 第一行读取文件_java ---读取文件

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

结果:

386ac2d2668423b881f0bca49228d89a.png

xlsx文件:

3b37115d7ef294a9d16a0d8e8bda7096.png

代码:

'''

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> inputdata = new HashMap>();//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

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 db = new ArrayList();

db.add(new Double(temp));

inputdata.put(singleRow[0], db);

}

}

break;

case Cell.CELL_TYPE_STRING:

singleRow[n] = cell.getStringCellValue().trim();

break;

}

n++;

}

}

}

}

}

}

相关的jar包:

4134fdb3192efaaec44e2e08e1e1ac7b.png

自行下载,并放入工程文件架下lib中。

xlsx文件可以自行创建。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值