`
qstar
  • 浏览: 33020 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

利用poi读取远程excel文件的简单方法

 
阅读更多

   

 public static List<List<Object>> read(String fileUrl) throws IOException {
        List<List<Object>> allRows = new ArrayList<List<Object>>();
        InputStream is = null;
        Workbook wb = null;
        try {
            URL url = new URL(encodedUri);
            URLConnection conn = url.openConnection();
            conn.setConnectTimeout(3000);
            conn.setReadTimeout(3 * 60 * 1000);
            is = conn.getInputStream();
            wb = WorkbookFactory.create(is);
            Sheet sheet = wb.getSheetAt(0);
            int maxRowNum = sheet.getLastRowNum();
            int minRowNum = sheet.getFirstRowNum();
 
            // 跳过头,从第二行开始读取
            for (int i = minRowNum + 1; i <= maxRowNum; i++) {
                Row row = sheet.getRow(i);
                if (row == null) {
                    continue;
                }
                List<Object> rowData = readLine(row);
                allRows.add(rowData);
            }
 
        } catch (Exception e) {
            throw new IOException(e);
        } finally {
            if (is != null) {
                is.close();
            }
            if (wb != null && wb instanceof SXSSFWorkbook) {
                SXSSFWorkbook xssfwb = (SXSSFWorkbook) wb;
                xssfwb.dispose();
            }
        }
 
        return allRows;
 
    //读取每行数据
    private static List<Object> readLine(Row row) {
        short minColNum = row.getFirstCellNum();
        short maxColNum = row.getLastCellNum();
        List<Object> dataList = new ArrayList<Object>();
        for (short colIndex = minColNum; colIndex < maxColNum; colIndex++) {
            Cell cell = row.getCell(colIndex);
            if (cell == null) {
                continue;
            }
            int cellType = cell.getCellType();
            Object value = null;
            if (Cell.CELL_TYPE_NUMERIC == cellType) {
                value = cell.getNumericCellValue();
            } else if (Cell.CELL_TYPE_STRING == cellType) {
                value = cell.getStringCellValue();
            } else {
                value = cell.getStringCellValue();
            }
            dataList.add(value);
        }
 
        return dataList;
    }

 

分享到:
评论

相关推荐

    Java读取Excel文件的内容

    Apache POI是一个强大的库,它允许开发者使用Java来读取、写入和修改Microsoft Office格式的文件,包括Excel的XLS和XLSX格式。本教程将详细介绍如何使用POI框架来读取Excel(XLSX)文件的内容。 首先,你需要在项目...

    Java 读取excel 文件流代码实例

    POI 库提供了一个简单易用的 API,允许开发者轻松地读取和写入 Excel 文件。 读取 Excel 文件流 在读取 Excel 文件流时,我们首先需要获取 Excel 文件流,然后使用 POI 库将其解析为一个Workbook 对象。Workbook ...

    poi-3.17.zip

    在使用Apache POI 3.17时,开发者可以利用它来执行一系列任务,例如创建新的Excel工作簿,添加工作表,填写单元格,设置格式,读取数据,以及处理公式等。此外,它还支持旧版的BIFF格式,以及XML和OOXML格式,以兼容...

    针对Excel表格文件操作的编程实现

    本文将深入探讨如何通过编程实现对Excel文件的处理,主要关注以下几个方面:数据读取、数据写入、公式应用以及高级操作。 首先,我们要了解可以用于处理Excel的编程库。在Python中,Pandas库是一个广泛使用的工具,...

    不使用组件操作EXcel

    标题“不使用组件操作Excel”暗示我们将探讨如何在不借助第三方库或组件(如Microsoft Office Interop)的情况下,利用编程语言直接与Excel文件进行交互。这种方法对于远程服务器或没有安装Office环境的情况尤其有用...

    poi-ooxml3.9.zip

    POI是“Poor Obfuscation Implementation”的首字母缩写,但实际上它代表的是“Portable Object Interface”,这个库允许Java应用程序读取和写入Microsoft Office格式的文件,如Excel(XLS和XLSX)、Word(DOC和DOCX...

    ssh excel上传

    综上所述,"SSH Excel上传"涉及到了使用SSH协议安全地进行远程文件操作,特别是与Excel文件相关的上传和下载,这通常需要编程技巧,比如使用Java和Apache POI来处理Excel数据,以及利用SSH的SFTP或SCP功能进行文件...

    POI完整依赖包集合,无需再去Maven下载

    1. **HSSF**: HSSF(Horrible Spreadsheet Format)是POI对旧版Excel文件格式(.xls)的支持。它允许创建、读取和修改97-2003版Excel文件。 2. **XSSF**: XSSF(XML Spreadsheet Format)用于处理Excel 2007及更高...

    lib.zip-常用的依赖包,包括poi一类

    例如,使用POI可以方便地创建、读取和修改Excel文件,适合于数据分析、报告生成或自动化测试;Commons Net则可以在Java应用中实现FTP上传下载、远程服务器交互等功能;而Commons Collections则可以提升代码的可读性...

    java处理excel依赖包

    Apache POI 是一个广泛使用的开源库,它允许Java开发者读取、创建和修改Microsoft Office格式的文件,包括Excel的XLS和XLSX格式。在你的问题中,你遇到了一个关于使用Apache POI处理XLSX格式文件的挑战。 标题中的...

    excel上传解析

    这个类可能定义了通用的方法,如打开Excel文件、读取工作表、遍历单元格等,为不同版本的Excel文件(如xls、xlsx)提供了统一的接口。具体实现可能会使用Apache POI库,这是一个流行的Java API,专用于处理Microsoft...

    利用Java进行Excel数据导入导出.pptx

    Apache POI是一个流行的开源项目,它允许Java开发者读取、写入和修改Microsoft Office格式的文件,包括Excel。POI提供了HSSF(用于旧版的BIFF格式,Excel 97-2007)和XSSF(用于较新的OOXML格式,Excel 2007及更高...

    Web Service(Axis) + Excel(Office 2003)

    博主林西增详细解释了这个过程,帮助开发者理解如何在不直接操作Excel文件的情况下,通过Web服务接口来读取、写入或更新Excel数据。 首先, Axis的使用步骤通常包括以下几点: 1. 安装和配置Axis环境,这涉及下载...

    excel 注解方式导入导出(包含常用工具类)

    首先,Excel的注解方式导入导出是一种高效且灵活的数据处理手段,它通过Java编程语言,利用Apache POI库或其他类似的库,如JExcelAPI,对Excel文件进行操作。这种方式通常涉及创建数据模型类,并在模型类的字段上...

    上传,下载,导入,导出demo集合

    在Java中,可以使用Apache POI库来处理Excel文件,实现数据的读取和导入。 4. **导出**:导出则是在本地系统中创建或整理数据,然后将其保存到外部格式,以便于分享或在其他应用程序中使用。比如,将数据库查询结果...

    ftp通信.rar

    Apache POI提供了一套API,可以让开发者在Java程序中读取、写入和修改Excel文件,包括创建工作表、设置公式以及进行数据计算。 然后,生成的Excel文件将通过FTP上传到远程服务器。在Java中,可以使用多种库来实现...

    Java导出excel的Demo

    标题"Java导出excel的Demo"表明我们将探讨如何使用Java和Apache POI创建一个简单的Excel导出示例。在Eclipse这样的集成开发环境中,配合Java 1.6版本,我们可以遵循以下步骤: 1. **引入Apache POI依赖**: 首先,...

    文件导出和页面下载系统

    Java提供了多种库来处理不同格式的文件,如CSV(使用OpenCSV或Apache Commons CSV)、Excel(Apache POI)和PDF(iText或Apache PDFBox)。首先,你需要将业务数据转换为适合特定格式的数据结构。例如,对于Excel,...

    Android手机通讯录备份恢复功能源码Excel

    首先,需要将SQLite中的数据读取出来,然后用POI创建一个新的Excel工作簿,逐条写入联系人的各项信息。 5. **文件存储**: 在Android中,文件存储分为内部存储和外部存储。考虑到备份文件可能较大,通常会将Excel...

Global site tag (gtag.js) - Google Analytics