精华内容
下载资源
问答
  • 为开发者提供:Java代码中读取Excel表格中的数据,所需要的jar包。
  • java读取excel 表格数据。 public static void main(String[] args) { String[][] content=POIExcelUtils.read("E:\\1.xlsx"); for(int i=0;i;i++) { if(content[i]!=null){ for(int j=0;j[i].length;j...
  • java 读取excel表格 内容、图片、自动上传、图片上传后回调上传地址,赋值到图片表格位置, 该文件是一个java源码文件 根据自己的需求修改代码
  • 使用java读取excel表格

    千次阅读 2018-11-06 22:19:30
    1.Java读取excel的api 这里用到了一个叫jxl的api如下: <dependency> <groupId>net.sourceforge.jexcelapi</groupId> <artifactId>jxl</...

    在使用java的时候 希望从excel中读取到一些单元格的数据

    1.Java读取的excel的api

    这里用到了一个叫jxl的api如下:

    <dependency>
                <groupId>net.sourceforge.jexcelapi</groupId>
                <artifactId>jxl</artifactId>
                <version>2.6.12</version>
     </dependency>

    在java中需要去导入一些类去读取excel

    import jxl.Workbook;     //java读取excel表使用的类      
    import jxl.Cell;         //java读取表格里的单元格的类      
    import jxl.Sheet;        //java读取的工作铺的类

    首先:

       创建一个File 去读取文件(我以D盘redisInput文件下的GPSINFO.xls文件为例)   

       注意:不能够读取xlsx后缀的excel文件,否则会报错: Unable to recognize OLE stream 

      File Inputfile = new File("D:\\redisInput\\GPSINFO.xls");

     使用字符流去接File的数据

    FileInputStream fileInputStream = new FileInputStream(Inputfile);

    workbook去接fileInputStream

      Workbook workbook = Workbook.getWorkbook(fileInputStream);

    这样读取到了excel文件,但是需要去判断是哪一个工作簿,要用到Sheet类

    Sheet readfirst = workbook.getSheet(0);

    如果getsheet(0)那么就是去访问第一个工作簿里的数据,然后可以在sheet类中看有多少有效行和有效列

     int rows = readfirst.getRows();
     int clomns = readfirst.getColumns();
     System.out.println("row:" + rows);
     System.out.println("clomns:" + clomns);

    如果想看每个单元格的数据可以使用一个双重循环去读取每一个有效单元格里数据

    for(int i =1;i<rows;i++) {
      for(int j =1;i<rows;i++) {
        Cell cell = readfirst.getCell(j,i);  //j在前 i 在后是根据excel下标来判断的
        String s =  cell.getContents();
        System.out.println("cell"+s);
    }

    这样就把所有的有效单元格输出了。

    2.读到的单元格进行打印

    但是我想让它按照我想要的格式进行输出,比如 excel表中有sim卡 ,车牌号,终端号,我希望让它能够生成一个特有的格式让我使用比如:

    转成-》这种格式的数据

    所以一个完整过程如下:

    public class AnalysisExcel {
    
        Workbook workbook = null;
        File Inputfile = new File("D:\\redisInput\\GPSINFO.xls");
        File outputfile =new File("D:\\redisInput\\GPSINFO.txt");
    
        public void ToAnalysisExcel() {
            // Unable to recognize OLE stream  不支持xlsx格式  支持xls格式
    
            try {
    
                FileInputStream fileInputStream = new FileInputStream(Inputfile);
                workbook = Workbook.getWorkbook(fileInputStream);
                FileOutputStream fileOutputStream = new FileOutputStream(outputfile);
                BufferedOutputStream bw = new BufferedOutputStream(fileOutputStream);   //输出语句
    
                Sheet readfirst = workbook.getSheet(0);
                int rows = readfirst.getRows();
                int clomns = readfirst.getColumns();
                System.out.println("row:" + rows);
                System.out.println("clomns:" + clomns);
    
                for(int i =1;i<rows;i++) {
                    Cell[] cells = readfirst.getRow(i); //循环得到每一行的单元格对象
    
                    //根据每一个单元格对象的到里面的值
                    String brandNum= cells[0].getContents(); 
                    String deviceCode = cells[1].getContents();
                    String sim =cells[2].getContents();
                    System.out.println("rand:"+brandNum+",vehicleNum:"+deviceCode+",sim:"+sim);
                    
                      //将得到的值放在一个我需要的格式的string对象中
    
                    String  output = "\n"+sim+"\n" +
                            "{\n" +
                            "  \"brandColor\": 500000,\n" +
                            "  \"brandNumber\": \""+brandNum+"\",\n" +
                            "  \"deviceCode\": \""+deviceCode+"\",\n" +
                            "  \"simCard\": \""+sim+"\"\n" +
                            "}"+
                             "\n";
                    //write and flush到 我需要的文件中去,flush后才能成功
                    byte[] outputbyte = new String(output).getBytes();
                    bw.write(outputbyte);
    
                    bw.flush();
                }
    
    
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } catch (BiffException e) {
                e.printStackTrace();
            }
    
        }
    
    }
    

     

    展开全文
  • Java读取excel表格(原理+实现)

    万次阅读 2018-09-19 09:47:17
    一般都是用poi技术去读取excel表格的,但是这个技术又是什么呢 什么是Apache POI? Apache POI是一种流行的API,它允许程序员使用Java程序创建,修改和显示MS Office文件。这由Apache软件基金会开发使用Java分布式...

    一般都是用poi技术去读取excel表格的,但是这个技术又是什么呢

    什么是Apache POI?

    Apache POI是一种流行的API,它允许程序员使用Java程序创建,修改和显示MS Office文件。这由Apache软件基金会开发使用Java分布式设计或修改Microsoft Office文件的开源库。它包含类和方法对用户输入数据或文件到MS Office文档进行解码。

    Apache POI

    Apache POI是Apache软件基金会提供的100%开源库。大多数中小规模的应用程序开发主要依赖于Apache POI(HSSF+ XSSF)。它支持Excel 库的所有基本功能; 然而,呈现和文本提取是它的主要特点。

     Circle

     

    工作簿

    这是创建或维护Excel工作簿的所有类的超接口。它属于org.apache.poi.ss.usermodel包。是实现此接口的两个类,如下所示:

    • HSSFWorkbook : 这个类有读取和.xls 格式和写入Microsoft Excel文件的方法。它与微软Office97-2003版本兼容。

    • XSSFWorkbook : 这个类有读写Microsoft Excel和OpenOffice的XML文件的格式.xls或.xlsx的方法。它与MS-Office版本2007或更高版本兼容。

    HSSFWorkbook

    它是在org.apache.poi.hssf.usermodel包的高层次的类。它实现了Workbook 接口,用于Excel文件中的.xls格式。下面列出的是一些本类下的方法和构造函数。

    类的构造函数

    S.No.构造函数和说明
    1

    HSSFWorkbook()

    从头开始创建一个新的HSSFWorkbook对象时。

    2

    HSSFWorkbook(DirectoryNode directory, boolean preserveNodes)

    创建一个特定的目录中一个新的HSSFWworkbook对象。

    3

    HSSFWorkbook(DirectoryNode directory, POIFSFileSystem fs, boolean preserveNodes)

    给定一个POIFSFileSystem对象和特定的目录中,它创建了一个SSFWorkbook对象读取指定的工作簿。

    4

    HSSFWorkbook(java.io.InputStream s)

    创建使用输入流中的新HSSFWorkbook对象时。

    5

    HSSFWorkbook(java.io.InputStream s, boolean preserveNodes)

    构建在输入流的POI文件系统。

    6

    HSSFWorkbook(POIFSFileSystem fs)

    使用POIFSFileSystem对象构造的新HSSFWorkbook对象时。

    7

    HSSFWorkbook(POIFSFileSystem fs, boolean preserveNodes)

    给定一个POIFSFileSystem对象时,它会创建一个新的HSSFWorkbook对象时读取指定的工作簿。

    这些构造内的常用参数:

    • directory : 这是从POI文件系统处理的目录。

    • fs :它是包含簿流该POI的文件系统。

    • preservenodes : 这是决定是否保留其他节点像宏的可选参数。它消耗大量的内存,因为它存储在内存中的所有POIFileSystem(如果设置)。

    注意:HSSFWorkbook类包含了许多方法;然而,它们仅与XLS格式兼容。在本教程中,重点是在Excel文件格式的最新版本。因此,HSSFWorkbook类的方法,这里没有列出。如果需要这些类的方法,那么请参照POI-HSSFWorkbook类API在 https://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFWorkbook.html.

    XSSFWorkbook

    它是用于表示高和低层次Excel文件格式的类。它属于org.apache.xssf.usemodel包,并实现Workbook接口。下面列出的是这个类的方法和构造函数。

    类的构造函数

    S.No.构造函数和说明
    1

    XSSFWorkbook()

    从头开始创建一个新的XSSFworkbook对象。

    2

    XSSFWorkbook(java.io.File file)

    构造从给定文件中的XSSFWorkbook对象。

    3

    XSSFWorkbook(java.io.InputStream is)

    构造一个XSSFWorkbook对象,通过缓冲整个输入流到内存中,然后为它打开一个OPCPackage对象。

    4

    XSSFWorkbook(java.lang.String path)

    构建一个给定文件的完整路径的XSSFWorkbook对象。

     

     

    Sheet

    Sheet是在org.apache.poi.ss.usermodel包的接口,它是创建具有特定名称的高或低级别的电子表格的所有类的超接口。电子表格的最常见的类型是工作表,它被表示为单元的网格。

    HSSFSheet

    这是在org.apache.poi.hssf.usermodel包的类。它可以创建Excel电子表格,它允许在sheet 方式和表数据格式。

    类的构造函数

    S.No.构造函数及描述
    1

    HSSFSheet(HSSFWorkbook workbook)

    创建新HSSFSheet通过调用HSSFWorkbook从头开始创建一个表。

    2

    HSSFSheet(HSSFWorkbook workbook, InternalSheet sheet)

    创建HSSFSheet表示给定表对象。

    XSSFSheet

    这是代表了Excel电子表格的高级别代表的一类。这在org.apache.poi.hssf.usermodel包下。

    类的构造函数

    S.No.构造函数及描述
    1

    XSSFSheet()

    创造了新的XSSFSheet- 调用XSSFWorkbook从头开始创建一个表。

    2

    XSSFSheet(PackagePart part, PackageRelationship rel)

    创建XSSFSheet表示给定包的一部分和关系。

    类方法

    S.No.方法和描述
    1

    addMergedRegion(CellRangeAddress region)

    添加单元的合并区域(因此这些单元格合并形成一个)。

    2

    autoSizeColumn(int column)

    调整列宽,以适应的内容。

    3

    iterator()

    此方法是用于rowIterator()的别名,以允许foreach循环

    4

    addHyperlink(XSSFHyperlink hyperlink)

    注册超链接的集合中的超链接此工作表格上

    对于此类的其余的方法,请参阅完整的API在:
    https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFSheet.html.

    这是在org.apache.poi.ss.usermodel包的接口。它是用于一排的电子表格的高层表示。它是代表了POI库的行所有类的超接口。

    XSSFRow

    这是在org.apache.poi.xssf.usermodel包的类。它实现了Row接口,因此它可以在电子表格中创建行。下面列出的是这个类在方法和构造函数。

    类方法

    S.No.描述
    1

    createCell(int columnIndex)

    创建新单元行并返回。

    2

    setHeight(short height)

    设置短单位的高度。

    对于此类的其余的方法,参考如下链接:
    https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFRow.html

    单元格

    这是在org.apache.poi.ss.usermodel包的接口。它是代表了单元在电子表格中的行中的所有类的超接口。

    单元格可以使用各种属性,例如空白,数字,日期,错误等单元格被添加到一个行之前应具有(基于0)自己的编号。

    XSSFCell

    这是在 org.apache.poi.xssf.usermodel 包的类。它实现了单元格界面。它是单元在电子表格中的行的一个高层次的表示。

     

    现在我用Java实现读取excel表格

    代码实现

    public static void excel() throws Exception {
            //用流的方式先读取到你想要的excel的文件
            FileInputStream fis=new FileInputStream(new File(System.getProperty("user.dir")+"/src/excel.xls"));
            //解析excel
            POIFSFileSystem pSystem=new POIFSFileSystem(fis);
            //获取整个excel
            HSSFWorkbook hb=new HSSFWorkbook(pSystem);
            System.out.println(hb.getNumCellStyles());
            //获取第一个表单sheet
            HSSFSheet sheet=hb.getSheetAt(0);
            //获取第一行
        int firstrow=    sheet.getFirstRowNum();
        //获取最后一行
        int lastrow=    sheet.getLastRowNum();
        //循环行数依次获取列数
            for (int i = firstrow; i < lastrow+1; i++) {
                //获取哪一行i
                Row row=sheet.getRow(i);
                if (row!=null) {
                    //获取这一行的第一列
                int firstcell=    row.getFirstCellNum();
                //获取这一行的最后一列
                int lastcell=    row.getLastCellNum();
                //创建一个集合,用处将每一行的每一列数据都存入集合中
                List<String> list=new ArrayList<>();
                for (int j = firstcell; j <lastcell; j++) {
                    //获取第j列
                    Cell cell=row.getCell(j);
                    
                    if (cell!=null) {
                        System.out.print(cell+"\t");
                        list.add(cell.toString());
                    }
                }
                
                User user=new User();
                if (list.size()>0) {
                    user.setUsername(list.get(1));
                    user.setPassword(list.get(2));
                }
                BaseDAO dao=new BaseDAO();
                dao.save(user);
                System.out.println();
                }
            }
            fis.close();
        }
    

    放下你那抠脚的手,和我一起敲代码吧!

    展开全文
  • java读取excel电子表格所需jar包,包括xls 格式的exel文件的读取和xlsx格式文件的读取
  • javaExcel表格数据处理并以List集合返回(只要传Excel文件路径即可)
  • java批量读取Excel表格

    2016-08-10 14:14:47
    用于批量读取excel表格。工作写时非常好用。2003-2010都支持。
  • } /** * 读取excel内容 * * @param inputStream 文件 * @return Map> */ public static Map> readExcelContent(InputStream inputStream, String suffix) { getWorkbook(inputStream, suffix); Map> content = new ...

    一、添加依赖

    org.apache.poi

    poi

    3.8

    org.apache.poi

    poi-ooxml

    3.8

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    二、工具类

    根据文件后缀判断 2003 || 2007 || 2010 格式。

    import org.apache.poi.hssf.usermodel.HSSFWorkbook;

    import org.apache.poi.ss.usermodel.*;

    import org.apache.poi.xssf.usermodel.XSSFWorkbook;

    import java.io.InputStream;

    import java.time.Instant;

    import java.time.LocalDateTime;

    import java.time.ZoneId;

    import java.time.format.DateTimeFormatter;

    import java.util.HashMap;

    import java.util.Map;

    public class ExcelUtils {

    private static Workbook wb;

    private static Sheet sheet;

    private static Row row;

    private static final String EXCEL_XLS = "xls";

    private static final String EXCEL_XLSX = "xlsx";

    /**

    * 读取表头

    *

    * @param inputStream inputStream

    * @param suffix file suffix

    * @return map

    */

    public static Map readExcelTitle(InputStream inputStream, String suffix) {

    getWorkbook(inputStream, suffix);

    sheet = wb.getSheetAt(0);

    row = sheet.getRow(0);

    // 标题总列数

    int colNum = row.getPhysicalNumberOfCells();

    Map map = new HashMap<>();

    for (int i = 0; i < colNum; i++) {

    map.put(i, row.getCell(i).getStringCellValue());

    }

    return map;

    }

    /**

    * 读取excel内容

    *

    * @param inputStream 文件

    * @return Map>

    */

    public static Map> readExcelContent(InputStream inputStream, String suffix) {

    getWorkbook(inputStream, suffix);

    Map> content = new HashMap<>();

    sheet = wb.getSheetAt(0);

    // 得到总行数

    int rowNum = sheet.getLastRowNum();

    row = sheet.getRow(0);

    int colNum = row.getPhysicalNumberOfCells();

    // 正文内容应该从第二行开始,第一行为表头的标题

    for (int i = 1; i <= rowNum; i++) {

    row = sheet.getRow(i);

    int j = 0;

    Map cellValue = new HashMap<>();

    while (j < colNum) {

    String obj = getCellFormatValue(row.getCell(j));

    cellValue.put(j, obj);

    j++;

    }

    content.put(i, cellValue);

    }

    return content;

    }

    private static String getCellFormatValue(Cell cell) {

    String cellValue = "";

    if (cell != null) {

    // 判断当前Cell的Type

    switch (cell.getCellType()) {

    // 如果当前Cell的Type为NUMERIC

    case Cell.CELL_TYPE_NUMERIC:

    case Cell.CELL_TYPE_FORMULA: {

    // 判断当前的cell是否为Date

    if (DateUtil.isCellDateFormatted(cell)) {

    DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("YYYY-MM-dd HH:mm:ss");

    Instant instant = cell.getDateCellValue().toInstant();

    ZoneId zoneId = ZoneId.systemDefault();

    LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zoneId);

    cellValue = dateTimeFormatter.format(localDateTime);

    } else {

    // 如果是纯数字

    // 取得当前Cell的数值

    cellValue = String.valueOf(cell.getNumericCellValue());

    }

    break;

    }

    // 如果当前Cell的Type为STRING

    case Cell.CELL_TYPE_STRING:

    // 取得当前的Cell字符串

    cellValue = cell.getRichStringCellValue().getString();

    break;

    default:

    // 默认的Cell值

    cellValue = "";

    }

    }

    return cellValue;

    }

    private static void getWorkbook(InputStream inputStream, String suffix) {

    try {

    //2003

    if (EXCEL_XLS.equals(suffix)) {

    wb = new HSSFWorkbook(inputStream);

    //2007/2010

    } else if (EXCEL_XLSX.equals(suffix)) {

    wb = new XSSFWorkbook(inputStream);

    }

    } catch (Exception e) {

    e.printStackTrace();

    } finally {

    try {

    inputStream.close();

    } catch (Exception e) {

    e.printStackTrace();

    }

    }

    }

    }

    ---------------------

    作者:Break all

    来源:CSDN

    原文:https://blog.csdn.net/weixin_40467684/article/details/91883896

    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • Java读取excel表格一般都是用poi技术去读取excel表格的,但是这个技术又是什么呢什么是Apache POI?Apache POI是一种流行的API,它允许程序员使用Java程序创建,修改和显示MS Office文件。这由Apache软件基金会开发...

    Java读取excel表格

    一般都是用poi技术去读取excel表格的,但是这个技术又是什么呢

    什么是Apache POI?

    Apache POI是一种流行的API,它允许程序员使用Java程序创建,修改和显示MS Office文件。这由Apache软件基金会开发使用Java分布式设计或修改Microsoft Office文件的开源库。它包含类和方法对用户输入数据或文件到MS Office文档进行解码。

    Apache POI

    Apache POI是Apache软件基金会提供的100%开源库。大多数中小规模的应用程序开发主要依赖于Apache POI(HSSF+ XSSF)。它支持Excel 库的所有基本功能; 然而,呈现和文本提取是它的主要特点。

    eb389be1d94f7712c358763ab6daa4ae.png

    工作簿

    这是创建或维护Excel工作簿的所有类的超接口。它属于org.apache.poi.ss.usermodel包。是实现此接口的两个类,如下所示:

    HSSFWorkbook : 这个类有读取和.xls 格式和写入Microsoft Excel文件的方法。它与微软Office97-2003版本兼容。

    XSSFWorkbook : 这个类有读写Microsoft Excel和OpenOffice的XML文件的格式.xls或.xlsx的方法。它与MS-Office版本2007或更高版本兼容。

    HSSFWorkbook

    它是在org.apache.poi.hssf.usermodel包的高层次的类。它实现了Workbook 接口,用于Excel文件中的.xls格式。下面列出的是一些本类下的方法和构造函数。

    类的构造函数

    S.No.构造函数和说明

    1

    HSSFWorkbook()

    从头开始创建一个新的HSSFWorkbook对象时。

    2

    HSSFWorkbook(DirectoryNode directory, boolean preserveNodes)

    创建一个特定的目录中一个新的HSSFWworkbook对象。

    3

    HSSFWorkbook(DirectoryNode directory, POIFSFileSystem fs, boolean preserveNodes)

    给定一个POIFSFileSystem对象和特定的目录中,它创建了一个SSFWorkbook对象读取指定的工作簿。

    4

    HSSFWorkbook(java.io.InputStream s)

    创建使用输入流中的新HSSFWorkbook对象时。

    5

    HSSFWorkbook(java.io.InputStream s, boolean preserveNodes)

    构建在输入流的POI文件系统。

    6

    HSSFWorkbook(POIFSFileSystem fs)

    使用POIFSFileSystem对象构造的新HSSFWorkbook对象时。

    7

    HSSFWorkbook(POIFSFileSystem fs, boolean preserveNodes)

    给定一个POIFSFileSystem对象时,它会创建一个新的HSSFWorkbook对象时读取指定的工作簿。

    这些构造内的常用参数:

    directory : 这是从POI文件系统处理的目录。

    fs :它是包含簿流该POI的文件系统。

    preservenodes : 这是决定是否保留其他节点像宏的可选参数。它消耗大量的内存,因为它存储在内存中的所有POIFileSystem(如果设置)。

    注意:HSSFWorkbook类包含了许多方法;然而,它们仅与XLS格式兼容。在本教程中,重点是在Excel文件格式的最新版本。因此,HSSFWorkbook类的方法,这里没有列出。如果需要这些类的方法,那么请参照POI-HSSFWorkbook类API在 https://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFWorkbook.html.

    XSSFWorkbook

    它是用于表示高和低层次Excel文件格式的类。它属于org.apache.xssf.usemodel包,并实现Workbook接口。下面列出的是这个类的方法和构造函数。

    类的构造函数

    S.No.构造函数和说明

    1

    XSSFWorkbook()

    从头开始创建一个新的XSSFworkbook对象。

    2

    XSSFWorkbook(java.io.File file)

    构造从给定文件中的XSSFWorkbook对象。

    3

    XSSFWorkbook(java.io.InputStream is)

    构造一个XSSFWorkbook对象,通过缓冲整个输入流到内存中,然后为它打开一个OPCPackage对象。

    4

    XSSFWorkbook(java.lang.String path)

    构建一个给定文件的完整路径的XSSFWorkbook对象。

    Sheet

    Sheet是在org.apache.poi.ss.usermodel包的接口,它是创建具有特定名称的高或低级别的电子表格的所有类的超接口。电子表格的最常见的类型是工作表,它被表示为单元的网格。

    HSSFSheet

    这是在org.apache.poi.hssf.usermodel包的类。它可以创建Excel电子表格,它允许在sheet 方式和表数据格式。

    类的构造函数

    S.No.构造函数及描述

    1

    HSSFSheet(HSSFWorkbook workbook)

    创建新HSSFSheet通过调用HSSFWorkbook从头开始创建一个表。

    2

    HSSFSheet(HSSFWorkbook workbook, InternalSheet sheet)

    创建HSSFSheet表示给定表对象。

    XSSFSheet

    这是代表了Excel电子表格的高级别代表的一类。这在org.apache.poi.hssf.usermodel包下。

    类的构造函数

    S.No.构造函数及描述

    1

    XSSFSheet()

    创造了新的XSSFSheet- 调用XSSFWorkbook从头开始创建一个表。

    2

    XSSFSheet(PackagePart part, PackageRelationship rel)

    创建XSSFSheet表示给定包的一部分和关系。

    类方法

    S.No.方法和描述

    1

    addMergedRegion(CellRangeAddress region)

    添加单元的合并区域(因此这些单元格合并形成一个)。

    2

    autoSizeColumn(int column)

    调整列宽,以适应的内容。

    3

    iterator()

    此方法是用于rowIterator()的别名,以允许foreach循环

    4

    addHyperlink(XSSFHyperlink hyperlink)

    注册超链接的集合中的超链接此工作表格上

    这是在org.apache.poi.ss.usermodel包的接口。它是用于一排的电子表格的高层表示。它是代表了POI库的行所有类的超接口。

    XSSFRow

    这是在org.apache.poi.xssf.usermodel包的类。它实现了Row接口,因此它可以在电子表格中创建行。下面列出的是这个类在方法和构造函数。

    类方法

    S.No.描述

    1

    createCell(int columnIndex)

    创建新单元行并返回。

    2

    setHeight(short height)

    设置短单位的高度。

    单元格

    这是在org.apache.poi.ss.usermodel包的接口。它是代表了单元在电子表格中的行中的所有类的超接口。

    单元格可以使用各种属性,例如空白,数字,日期,错误等单元格被添加到一个行之前应具有(基于0)自己的编号。

    XSSFCell

    这是在 org.apache.poi.xssf.usermodel 包的类。它实现了单元格界面。它是单元在电子表格中的行的一个高层次的表示。

    现在我用Java实现读取excel表格

    代码实现

    public static void excel() throwsException {//用流的方式先读取到你想要的excel的文件

    FileInputStream fis=new FileInputStream(new File(System.getProperty("user.dir")+"/src/excel.xls"));//解析excel

    POIFSFileSystem pSystem=newPOIFSFileSystem(fis);//获取整个excel

    HSSFWorkbook hb=newHSSFWorkbook(pSystem);

    System.out.println(hb.getNumCellStyles());//获取第一个表单sheet

    HSSFSheet sheet=hb.getSheetAt(0);//获取第一行

    int firstrow=sheet.getFirstRowNum();//获取最后一行

    int lastrow=sheet.getLastRowNum();//循环行数依次获取列数

    for (int i = firstrow; i < lastrow+1; i++) {//获取哪一行i

    Row row=sheet.getRow(i);if (row!=null) {//获取这一行的第一列

    int firstcell=row.getFirstCellNum();//获取这一行的最后一列

    int lastcell=row.getLastCellNum();//创建一个集合,用处将每一行的每一列数据都存入集合中

    List list=new ArrayList<>();for (int j = firstcell; j

    Cell cell=row.getCell(j);if (cell!=null) {

    System.out.print(cell+"\t");

    list.add(cell.toString());

    }

    }

    User user=newUser();if (list.size()>0) {

    user.setUsername(list.get(1));

    user.setPassword(list.get(2));

    }

    BaseDAO dao=newBaseDAO();

    dao.save(user);

    System.out.println();

    }

    }

    fis.close();

    }

    展开全文
  • 本人之前做过这个,使用jxl来操作Excel直接给你源码吧:/***判断文件能否存在,存在修改,不存在创建添加数据**@paramroute*包名+路径*/@SuppressWarnings("null")publicvoidsaveZkfp(){Filefile=newFile(file...
  • 在使用java的时候,希望从excel中读取到一些单元格的数据,供大家参考,具体内容如下1.Java读取的excel的api这里用到了一个叫jxl的api如下:... //java读取excel表使用的类import jxl.Cell; //java读...
  • java程序读取excel表格并存入mysql数据库详细教程

    万次阅读 多人点赞 2019-08-31 15:13:34
    Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。 HSSF - 提供读写Microsoft Excel格式档案的功能。 XSSF - 提供读写Microsoft Excel OOXML格式档案...
  • java如何读取excel表格的信息Java如何读取excel表格的信息,用java读取excel表格信息的方法:1。pass [workbook.getworkbook(新文件(‘ e ://excel . xls ‘)];】代码获取要读取的excel电子表格文件;2、【book . ...
  • 在日常工作中,我们常常会进行文件读写操作,除去我们最常用的纯文本文件读写,更多时候我们需要对Excel中的数据进行读取操作,本文将介绍Excel读写的常用方法,希望对大家学习Java读写Excel会有帮助。在开始进行...
  • Java读取Excel表格中的数据

    千次阅读 2020-12-28 18:34:06
    文章目录前言一、添加jar包文件1....本文主要讲述如何在Java读取Excel表中的数据在控制台输出,实现工具为Eclipse 提示:以下是本篇文章正文内容,下面案例可供参考 一、添加jar包文件 描述:在Java中导入导出E
  • 1、需求用java代码读取hello.xls表格中的数据2、hello.xls表格 3、java代码package com.test;import java.io.File;import jxl.*;public class ReadExcel{public static void main(String[] args) {int i;Sheet sheet...
  • Java读取Excel表格中的日期

    热门讨论 2011-05-11 17:40:53
    通过Java读取Excel文件中的数据时,需要自动判断当前Cell中的数据格式是否日期格式,如果是就要做特殊处理,以便读出数据的格式与预想的相符。
  • java 如何一列一列读取excel数据。网上好多资料只...InputStreaminp=newFileInputStream("workbook.xls");//InputStreaminp=newFileInputStream("workbook.xlsx");Workbookwb=WorkbookFactory.create(inp);...
  • 在matlab上如何导入excel表格然后画图用xlsread()函数就读取Excel中的数据。假设LHMHZ.xls的数据格A为x数据,B为y数据,以用代码实现来你的。data=xlsread('LHMHZ.xls'); %% matlab读取Excel中的数据,赋值给 data...
  • java解析Excel表格数据

    万次阅读 多人点赞 2018-09-18 21:03:05
    java代码、Excel表格和jar包已经提交到Git上:https://github.com/buder-cp/base_component_learn/tree/master/get_excel_values Excel表格java代码演示: 1.获取表格中name列的值效果: [game_lo...
  • java 读取 Excel表格内容

    千次阅读 2019-12-08 14:09:38
    读写Excel,这么重要且普遍的问题,伟大的apache,早就为我们封装好了jar包,供...--读取 excel 的所需jar包--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi<...
  • Java程序读取Excel表格里的内容显示在Swing界面里。
  • java读取excel表格内容

    万次阅读 2018-08-10 16:21:32
    import org.apache.poi.ss.usermodel.*; import java.io.File; import java.io.FileInputStream; import java.text.SimpleDateFormat; import java.util.Date;... * @ClassName ReadExcel * @Description TODO...
  • java中使用POI如何获得EXCEL中的一行数据?static public void main(String[] args){try {FileInputStream fis = new FileInputStream("d:\\aa.xls");HSSFWorkbook wb = new HSSFWorkbook(fis);HSSFSheet s = wb....
  • java poi怎么获取excel单元格的内容在Java读取Excel文件的内容里,我使用的个叫Java Excel API的东西,类似的还有jakarta的POI觉那个太复杂了点儿。而且jxl对中文的支持相当的好,至少我在用的过程中一点问题没出...
  • 前言:网上对java excel处理比较杂乱,我经过查阅资料亲自试验,总结了一下java excel的导出和读取 .xls格式的excel文件需要HSSF支持,需要相应的poi.jar,.xlsx格式的excel文件需要XSSF支持,需要poi-ooxml.jar...
  • * 读取Excel文件里数据,来源于模板引擎 * 读取Excel的兼容性/03/07以上 * 参数一读取所需的文件对象 * 参数二自定义需要对应实体对象相关的属性 * 参数三将数据转化成对应的class实体对象 * 参数四从文档的第...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,341
精华内容 7,336
关键字:

java读取excel表格并处理

java 订阅