流方式读取excel内容工具

日常小工具:

excle解析读取

public static List<List<Object>> excel(FileInputStream fis,String fileName) throws  IOException {
    //用流的方式先读取到你想要的excel的文件
    //FileInputStream fis=new FileInputStream(file);

    //获取整个excel

    //根据版本选择创建Workbook的方式
    Workbook hb ;
    if(fileName.endsWith(".xls")){
      //解析excel
      POIFSFileSystem pSystem=new POIFSFileSystem(fis);
      hb = new HSSFWorkbook(pSystem);
    }else {
      hb = new XSSFWorkbook(fis);
    }

    //HSSFWorkbook hb=new HSSFWorkbook(pSystem);
    //获取第一个表单sheet
    Sheet sheet = hb.getSheetAt(0);
    //获取第一行
    int firstrow=    sheet.getFirstRowNum();
    //获取最后一行
    int lastrow=    sheet.getLastRowNum();

    List<List<Object>> resultList = new ArrayList<>();

    //获取表格总列数
    int lastcell = (sheet.getRow(sheet.getFirstRowNum())).getLastCellNum();

    //循环行数依次获取列数
    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<Object> list=new ArrayList<>();

        for (int j = firstcell; j <lastcell; j++) {
          //获取第j列
          Cell cell=row.getCell(j);

          //if (cell!=null) {
            list.add(cell);
          //}
        }

        resultList.add(list);
      }
    }
    fis.close();
    return  resultList;
  }

读取文件的流:

FileInputStream fis=new FileInputStream(file);

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Web API 基于方式进行数据导出 Excel 是一种常用的方法。该方法通过将数据的形式写入 Excel 文件,实现了大量数据的高效导出。 首先,服务器端准备好要导出的数据,并将其封装为数据源。这可以是数据库查询的结果集,也可以是以其他形式从服务器获取的数据。接下来,服务器将数据源转换为 Excel 格式并通过进行输出。这可以通过使用一些操作库或 Excel 相关的库来实现。 一种常见的实现方式是使用 NPOI 或 EPPlus 等库。这些库提供了操作 Excel 的 API,可以方便地创建和修改 Excel 文件。在服务器端,可以通过调用这些库的方法创建一个新的 Excel 文件,并设置工作表的名称、格式等属性。然后,以的形式将数据逐行写入 Excel 文件中。这样就实现了基于数据导出。 在 Web API 中,将生成的 Excel 文件通过方式返回给客户端。客户端可以选择将文件保存为本地文件或直接在浏览器中打开。为了更好地支持文件下载,可以在响应中设置相关的 MIME 类型和文件名,以便浏览器正确处理文件。 总结起来,基于方式进行数据导出 Excel 是一种高效的方法,适用于需要导出大量数据的情况。通过将数据的形式写入 Excel 文件,可以减少内存占用和响应时间,提高导出效率。在 Web API 中,使用操作库或 Excel 相关的库,将数据源转换为 Excel 格式,并以的形式返回给客户端,从而实现数据的导出。 ### 回答2: Web API基于方式进行数据导出Excel是指在Web API中通过(Stream)的方式来生成Excel文件并进行数据导出。 首先,通过Web API接收请求,获取需要导出的数据。可以根据业务需求,从数据库中查询数据或者从其他来源获取数据。接着,根据数据生成Excel文件,可以使用一些第三方的库或者工具来帮助生成Excel文件,例如EPPlus、NPOI等。这些库能够创建和写入Excel文件,并提供了丰富的API来操作Excel文件的格式、样式和内容。 在生成Excel文件的过程中,需要将数据写入到Excel文件的相应位置。通常,可以通过设置单元格的行、列的索引来确定要写入的位置,并在该位置写入相应的数据。可以根据需要设置单元格的格式,如字体、颜色、对齐方式等。 当Excel文件生成完毕后,需要将文件以的形式返回给前端,实现数据导出。可以使用响应对象的OutputStrea属性或者使用专门的Stream类来创建一个内存,将Excel文件写入该内存。然后,将内存转换为字节数组,并将该字节数组作为响应返回给前端。前端收到响应后,可以将这个字节数组保存为Excel文件,或者直接在浏览器中打开。 通过使用方式进行数据导出Excel,可以大大减少内存的占用和网络传输的压力,提升导出效率和性能。另外,由于Excel文件是通过直接返回给前端,可以在导出过程中进行一些其他操作,如导出大量的数据时,可以实现分批次导出,提高导出的效率和稳定性。 总之,Web API基于方式进行数据导出Excel,可以方便快捷地生成Excel文件,并将文件以的形式返回给前端,实现数据导出的功能。同时,通过方式导出Excel,可以节省内存和减少网络传输压力,提升导出的效率和性能。 ### 回答3: WebAPI基于方式进行数据导出Excel是指在返回响应时,将Excel文件的数据通过的形式发送给客户端。这种方式可以大幅降低服务器内存的消耗,特别适用于大数据量的导出操作。 首先,我们需要在WebAPI的Controller中编写导出Excel的方法。该方法应该根据业务需求从数据库或其他数据源中查询到需要导出的数据,并通过特定的库(如NPOI)将数据写入Excel文件中。 在写入数据的过程中,我们可以通过创建内存(MemoryStream)来暂存数据,避免频繁的磁盘写操作。将数据导入到内存后,可以将内存转换为字节数组,然后直接通过HttpResponseMessage的Content属性进行返回。 在Controller中,我们可以使用FileContentResult来构造HttpResponseMessage,将Excel数据返回给客户端。在构造FileContentResult时,我们需要传入字节数组以及文件类型(MIME类型)和文件名,以告诉客户端接收到的数据类型和文件名。 在客户端发出请求后,服务器会将Excel文件作为响应返回。在接收到响应后,客户端可以根据需要保存或处理这个Excel文件。 总之,使用WebAPI基于方式进行数据导出Excel能够提高服务器的性能,同时为客户端提供了更灵活的处理方式。但在编写代码时,我们需要确保数据的准确性和安全性,并合理控制内存的使用,以避免可能的内存溢出问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值