返回顶部
首页 > 资讯 > 后端开发 > JAVA >Java解析Excel文件
  • 149
分享到

Java解析Excel文件

exceljava开发语言 2023-08-18 11:08:42 149人浏览 泡泡鱼
摘要

Java解析excel ​ Java解析Excel可以说在日常工作中必不可少的一个需求。解析Excel有很多方式,主流有poi,easyexcel等技术,本文使用SpringBoot+poi技术来实现解析excel文件。其中包含解析本地文件

Java解析excel

​ Java解析Excel可以说在日常工作中必不可少的一个需求。解析Excel有很多方式,主流有poi,easyexcel等技术,本文使用SpringBoot+poi技术来实现解析excel文件。其中包含解析本地文件和WEB端导入导出文件,且支持2003和2007及以上版本。

1.依赖导入

依赖版本不同可能会出现报错,整篇文章使用以下依赖版本进行编写

  org.apache.poi  poi  3.10-FINAL  org.apache.poi  poi-ooxml  3.10-FINAL  org.apache.poi  poi-ooxml-schemas  3.10-FINAL

2.本地导入导出

定义要读取和存放Excel文件的路径

// 要读取的本地文件String localExcelPath = "/Users/jeckwu/Desktop/test/test.xlsx";// 把数据写入excel放到本地路径String writeDateToExcelPath = "/Users/jeckwu/Desktop/test/";
解析本地excel:解析指定目录中的excel数据
 // 读取本地excel数据    @Test    public void getLocalExcelData() throws ioException {        // 获取文件流        FileInputStream fileInputStream = new FileInputStream(localExcelPath);        // 解析数据        ListHashMap> maps = xlsxImportExcel(fileInputStream, 0, 1, 0);        assert maps != null;        log.info("size:{}", maps.size());        log.info("data:{}", JSON.tojsONString(maps));    }

这里简单的封装了一下,操作本地文件只针对xlsx格式文件,web端的处理包括xls类型。

       static List> xlsxImportExcel(FileInputStream file, Integer titleNo, Integer dataNo, Integer sheetNo) throws IOException {        log.info("excel2007及以上版本");        // 读取流中的excel数据 这里用到的是poi中的XSSFWorkbook 用来处理xlsx(版本在2007以后的excel文件) HSSFWorkbook对象用来处理xls类型 版本为2003的文件        XSSFWorkbook xwb = new XSSFWorkbook(file); //获取excel工作簿        XSSFSheet xssfSheet = xwb.getSheetAt(sheetNo); //获取excel的sheet        if (xssfSheet == null) {            return null;        }        // 防止数据列错乱        List> mapList = new ArrayList<>();        Row rowTitle = xssfSheet.getRow(titleNo);        //循环获取excel每一行        for (int rowNum = dataNo; rowNum < xssfSheet.getLastRowNum() + 1; rowNum++) {            XSSFRow xssfRow = xssfSheet.getRow(rowNum);            if (xssfRow == null) {                continue;            }            LinkedHashMap map = new LinkedHashMap<>();            //循环获取excel每一行的每一列            for (int cellNum = 0; cellNum < rowTitle.getLastCellNum(); cellNum++) {                XSSFCell xssCell = xssfRow.getCell(cellNum);                if (xssCell == null) {                    // 防止单元格为空                    map.put(rowTitle.getCell(cellNum).toString(), "");                    continue;                }                try {                    map.put(rowTitle.getCell(cellNum).toString(), getXSSFValue(xssCell));                } catch (Exception e) {                    log.error("");                }            }            mapList.add(map);  //将excel每一行的数据封装到map对象,并将map对象添加到list        }        return mapList;    }

处理excel各种类型值

     public static Object getXSSFValue(XSSFCell hssfCell) {        Object result = null;        int cellType = hssfCell.getCellType();        switch (hssfCell.getCellType()) {            case HSSFCell.CELL_TYPE_NUMERIC: //数字                if (HSSFDateUtil.isCellDateFORMatted(hssfCell)) {//                    需要对日期这一列进行设置样式,否则无法识别是日期类型还是数值类型//                    默认不支持中文日期类型,需要设置成纯英语日期类型,不要包含年月日等汉字//                    最好是使用这种格式 2019/10/10 0:00                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");                    result = sdf.format(HSSFDateUtil.getJavaDate(hssfCell.getNumericCellValue()));                    break;                }                result = hssfCell.getNumericCellValue();                break;            case HSSFCell.CELL_TYPE_BOOLEAN: //Boolean                result = hssfCell.getBooleanCellValue();                break;            case HSSFCell.CELL_TYPE_ERROR: //故障                result = hssfCell.getErrorCellValue();                break;            case HSSFCell.CELL_TYPE_FORMULA: //公式                result = hssfCell.getCellFormula();                break;            case HSSFCell.CELL_TYPE_BLANK:                result = "";                break;            default: //字符串                result = hssfCell.getStrinGCellValue();        }        return result;    }
Excel下载到本地:根据指定数据集生成excel到指定目录中

这里用到了上面的excel数据作为测试 实际根据自己项目封装即可。

 // 把数据集写入到excel中 放到本地服务器    @Test    public void writeDataToLocalExcel() throws IOException {        // 获取文件流-就拿本地数据源        FileInputStream fileInputStream = new FileInputStream(localExcelPath);        List> maps = xlsxImportExcel(fileInputStream, 0, 1, 0);        assert maps != null;        // 取10条写入到其他文件        List> maps1 = maps.subList(0, 10);        // 新建工作簿        XSSFWorkbook wb = new XSSFWorkbook();        // 新建Sheet        XSSFSheet xssfSheet = wb.createSheet("testSheet");        // 获取标题 前面用的是linkedhashmap 直接获取map中的标题 且和读取的excel列相同        List titleList = maps1.get(0).keySet().stream().map(s -> s).collect(Collectors.toList());        //标题行        XSSFRow titleRow = xssfSheet.createRow(0);        for (int i = 0; i < maps1.get(0).keySet().size(); i++) {            XSSFCell titleCell = titleRow.createCell(i);            titleCell.setCellValue(titleList.get(i));        }        // 数据行        for (int i = 0; i < maps1.size(); i++) {            XSSFRow xssfRow = xssfSheet.createRow(i + 1);            Map strinGobjectMap = maps1.get(i);            for (int i1 = 0; i1 < titleList.size(); i1++) {                XSSFCell xssfCell = xssfRow.createCell(i1);                xssfCell.setCellValue(stringObjectMap.get(titleList.get(i1)).toString());            }        }        log.info("size:{}", maps1.size());        log.info("data:{}", JSON.toJSONString(maps1));        // 写入本地文件中 将文件保存到指定的位置        try {            FileOutputStream fos = new FileOutputStream(writeDateToExcelPath+"写入本地excel.xlsx");            wb.write(fos);            fos.close();        } catch (IOException e) {            e.printStackTrace();        }    }

3.Web端导入导出

导入Excel:在网页上导入Excel,然后处理业务逻辑

下面我们编写测试代码,导入数据Excel之后做一下基本的判断,就开始业务处理

// 根据参数选择解析文件格式数据    public apiResult analysisPcsData(PcsDataiMportParamModel pcsDataIMportParamModel){        if (pcsDataIMportParamModel.getMultipartFile() == null) return new ApiResult(true,"请上传文件");        log.info("{}-导入PCS数据,参数:{}",DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss"),pcsDataIMportParamModel.toString());        // 根据参数选择解析        String originalFilename = pcsDataIMportParamModel.getMultipartFile().getOriginalFilename();        assert originalFilename != null;        // 解析的数据        List>  = new ArrayList<>();        // 入库的数据        List pcsDataModelList = new ArrayList<>();       try {           String expandName = originalFilename.substring(originalFilename.lastIndexOf(".") + 1, originalFilename.length());           if ((expandName.equals("xls") || expandName.equals("xlsx") ) && "EP".equals(pcsDataIMportParamModel.getCustomer_factory())){               mapList = ImportExcel.importExcel(pcsDataIMportParamModel.getMultipartFile(),1,2,0);               pcsDataModelList.addAll(analysisExcel(mapList,pcsDataIMportParamModel));           }else {               return new ApiResult(false,"上传的文件格式不正确,只支持xls,xlsx,csv!或者参数选择错误!");           }           if (CollectionUtils.isEmpty(mapList)) return new ApiResult(false,"传入的文件数据为空,请检查后再上传!!");           log.info("导入PCS解析数据数量:{}",mapList.size());           log.info("PCS入库数据数量:{}",pcsDataModelList.size());           return new ApiResult(true,"导入数据成功!!文件名:"+originalFilename+",成功条数:"+i);       }catch (Exception e){           log.error("导入PCS数据解析失败!!!原因:{}",e.getMessage(),e);           return new ApiResult(false,"导入PCS数据解析失败!!!");       }

这里区分了Excel版本

 // 判断excel版本    public static List> importExcel(MultipartFile file,Integer titleNo,Integer dataNo,Integer sheetNo) throws IOException {        String fileName = file.getOriginalFilename();  //获得上传的excel文件名        assert fileName != null;        String fileSuffix = fileName.substring(fileName.lastIndexOf(".") + 1);  //获取上传的excel文件名后缀        List> mapList = null;        if ("xlsx".equals(fileSuffix)) {            mapList = xlsxImportExcel(file,titleNo,dataNo,sheetNo);        } else if ("xls".equals(fileSuffix)) {            mapList = xlsImportExcel(file,titleNo,dataNo,sheetNo);        }        return mapList;    }

Excel2007版本处理

      static List> xlsxImportExcel(MultipartFile file,Integer titleNo,Integer dataNo,Integer sheetNo) throws IOException {        log.info("excel2007及以上版本");        XSSFWorkbook xwb = new XSSFWorkbook(file.getInputStream()); //获取excel工作簿        XSSFSheet xssfSheet = xwb.getSheetAt(sheetNo); //获取excel的sheet        if (xssfSheet == null) {            return null;        }        List> mapList = new ArrayList<>();        Row rowTitle = xssfSheet.getRow(titleNo);        //循环获取excel每一行        for (int rowNum = dataNo; rowNum < xssfSheet.getLastRowNum() + 1; rowNum++) {            XSSFRow xssfRow = xssfSheet.getRow(rowNum);            if (xssfRow == null) {                continue;            }            Map map = new HashMap<>();            //循环获取excel每一行的每一列            for (int cellNum = 0; cellNum < rowTitle.getLastCellNum(); cellNum++) {                XSSFCell xssCell = xssfRow.getCell(cellNum);                if (xssCell == null) {                    continue;                }                try {                    map.put(rowTitle.getCell(cellNum).toString(),getXSSFValue(xssCell));                }catch (Exception e){                    log.error("");                }            }            mapList.add(map);  //将excel每一行的数据封装到map对象,并将map对象添加到list        }        return mapList;    }

Excel2003版本处理

     static List> xlsImportExcel(MultipartFile file,Integer titleNo,Integer dataNo,Integer sheetNo) throws IOException {        log.info("excel2003版本");        Workbook wb = new HSSFWorkbook(file.getInputStream()); //获取excel工作簿        Sheet sheet = wb.getSheetAt(sheetNo);  //获取excel的sheet        if (sheet == null) {            return null;        }        List> list = new ArrayList<>();        Row rowTitle = sheet.getRow(titleNo);        //循环获取excel每一行        for (int rowNum = dataNo; rowNum < sheet.getLastRowNum() + 1; rowNum++) {            Row row = sheet.getRow(rowNum);            if (row == null) {                continue;            }            Map map = new HashMap<>();            //循环获取excel每一行的每一列            for (int cellNum = 0; cellNum < row.getLastCellNum(); cellNum++) {                Cell cell = row.getCell(cellNum);                if (cell == null) {                    continue;                }                map.put(rowTitle.getCell(cellNum).toString(),getValue(cell));            }            list.add(map);    //将excel每一行的数据封装到map对象,并将map对象添加到list        }        return list;    }

Excel中各种类型值处理,包括2003和2007及以上的版本的

        public static Object getXSSFValue(XSSFCell hssfCell) {        Object result = null;        int cellType = hssfCell.getCellType();        switch (hssfCell.getCellType()) {            case HSSFCell.CELL_TYPE_NUMERIC: //数字                if (HSSFDateUtil.isCellDateFormatted(hssfCell))                {//                    需要对日期这一列进行设置样式,否则无法识别是日期类型还是数值类型//                    默认不支持中文日期类型,需要设置成纯英语日期类型,不要包含年月日等汉字//                    最好是使用这种格式 2019/10/10 0:00                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");                    result = sdf.format(HSSFDateUtil.getJavaDate(hssfCell.getNumericCellValue()));                    break;                }                result = hssfCell.getNumericCellValue();                break;            case HSSFCell.CELL_TYPE_BOOLEAN: //Boolean                result = hssfCell.getBooleanCellValue();                break;            case HSSFCell.CELL_TYPE_ERROR: //故障                result = hssfCell.getErrorCellValue();                break;            case HSSFCell.CELL_TYPE_FORMULA: //公式                result = hssfCell.getCellFormula();                break;            case HSSFCell.CELL_TYPE_BLANK:                result = "";                break;            default: //字符串                result = hssfCell.getStringCellValue();        }        return result;    }        public static Object getValue(Cell cell){        //判断是否为null或空串        if  (cell== null  || cell.toString().trim().equals( "" )) {            return null ;        }        String cellValue;        int  cellType=cell.getCellType();        switch  (cellType) {            case  Cell.CELL_TYPE_STRING:                cellValue= cell.getStringCellValue().trim();                cellValue= StringUtils.isEmpty(cellValue) ?  ""  : cellValue;                break ;            case  Cell.CELL_TYPE_BOOLEAN:                cellValue = String.valueOf(cell.getBooleanCellValue());                break ;            case  Cell.CELL_TYPE_NUMERIC:                if  (HSSFDateUtil.isCellDateFormatted(cell)) {                    cellValue = DateUtil.formatDateByFormat(cell.getDateCellValue(), "yyyy-MM-dd HH:mm:ss");                }  else  {                    cellValue = new DecimalFormat( "#.######" ).format(cell.getNumericCellValue());                }                break ;            default :                cellValue = null ;                break ;        }        return cellValue == null ? null : cellValue.replaceAll("\\xa0", "");    }
导出Excel:在网页上导出Excel
// 导出excel    public void invoicePartHisExcelExport(QueryParamModel queryParamModel, httpservletResponse response){        long startTime = System.currentTimeMillis();        log.info("----开始导出Excel:"+startTime);        //导出全部数据        queryParamModel.setPageSize(-1);        queryParamModel.setPageSize(-1);        //根据条件查询业务数据        List invoicePartHis = findInvoicePartHis(queryParamModel);        String excelName = "test数据.xlsx";        String sheetName = "testSheet";        List titleList = new ArrayList<>();        titleList.add("单据号");        titleList.add("行号");        titleList.add("订单状态");        titleList.add("客户【描述】");        titleList.add("订单类型【描述】");    // 整理数据data        List> datasList = new ArrayList<>();        if (invoicePartHis.size()>0){            for (TRPAInvoicePartHisVO partHisModel : invoicePartHis) {                List list = new ArrayList<>();                list.add(Strings.isNotBlank(partHisModel.getInvoice_no())?partHisModel.getInvoice_no():"");                list.add(Strings.isNotBlank(partHisModel.getLine_no())?partHisModel.getLine_no():"");                list.add(Strings.isNotBlank(partHisModel.getOrder_status_desc())?partHisModel.getOrder_status_desc():"");                list.add(Strings.isNotBlank(partHisModel.getCustomer_name())?partHisModel.getCustomer_name():"");                list.add(Strings.isNotBlank(partHisModel.getOrder_type_desc())?partHisModel.getOrder_type_desc():"");                datasList.add(list);            }        }        ExportExcel.createSheetExcel(excelName,sheetName,titleList,datasList,response);        log.info("----导出Excel结束,所用时间:"+(System.currentTimeMillis()-startTime));    }

这里可以设置Excel的样式

     public static void createSheetExcel(String excelName,String sheetName,List title, List> datas, HttpServletResponse response) {        try{            int rowNum = datas.size() + 1;            int colNum = title.size();            //创建工作簿            XSSFWorkbook wb = new XSSFWorkbook();            //创建一个sheet            XSSFSheet sheet = wb.createSheet();            if(sheetName!=null||!"".equals(sheetName)){                wb.setSheetName(0, sheetName);            }            sheet.setDefaultColumnWidth(16);            // 创建单元格样式            XSSFCellStyle style1 = wb.createCellStyle();            style1.setFillForegroundColor((short) 1); //设置要添加表背景颜色            style1.setFillPattern(FillPatternType.SOLID_FOREGROUND); //solid 填充            style1.setAlignment(XSSFCellStyle.ALIGN_CENTER); //文字水平居中            style1.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER);//文字垂直居中            style1.setBorderBottom(BorderStyle.THIN); //底边框加黑            style1.setBorderLeft(BorderStyle.THIN);  //左边框加黑            style1.setBorderRight(BorderStyle.THIN); // 有边框加黑            style1.setBorderTop(BorderStyle.THIN); //上边框加黑            //为单元格添加背景样式            sheet=setTitleStyle(sheet,rowNum,colNum,style1,null);            //tian入数据            sheet=setSheetData(sheet,rowNum,colNum,title, datas);            //将数据写入文件            writeData(excelName,response,wb);        }catch (Exception e){            log.error("excel下载单个sheet报错:"+e);            throw GlobalException.serverErrException(500,"下载出错");        }    }

最后把流放进响应中,浏览器自动解析流,并且下载Excel

     public static void writeData(String excelName, HttpServletResponse response, XSSFWorkbook wb){        OutputStream outputStream = null;        try{            excelName = new String(excelName.getBytes(), StandardCharsets.UTF_8);            response.setCharacterEncoding("utf-8");            response.setContentType("application/vnd.ms-excel;charset=UTF-8");            response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");//允许前端获取            response.setHeader("Content-Disposition", "attachment;filename="+ excelName);            response.addHeader("Pargam", "no-cache");            response.addHeader("Cache-Control", "no-cache");            outputStream = response.getOutputStream();            wb.write(outputStream);            outputStream.flush();            outputStream.close();        }catch (Exception e){            log.error("输出excel报错:"+e);            throw GlobalException.serverErrException(500,"下载出错");        }finally {            if(outputStream!=null){                try{                    outputStream.close();                }catch (Exception e){                    log.error("流关闭报错:"+e);                    throw GlobalException.serverErrException(500,"下载出错");                }            }        }    }

最后实际对Excel操作,都可以根据自己的业务来封装。

来源地址:https://blog.csdn.net/Jeck_wu/article/details/128040333

--结束END--

本文标题: Java解析Excel文件

本文链接: https://lsjlt.com/news/373876.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java解析Excel文件
    Java解析Excel ​ Java解析Excel可以说在日常工作中必不可少的一个需求。解析Excel有很多方式,主流有poi,easyexcel等技术,本文使用springboot+poi技术来实现解析excel文件。其中包含解析本地文件...
    99+
    2023-08-18
    excel java 开发语言
  • java解析Excel文件的方法实例详解
    目录介绍1.1 pom依赖1.2 将数据流转化为可解析的Workbook类型文件1.3 解析1.4 Controller层接收前端传递的Excel文件(前端使用Element-ui的...
    99+
    2024-04-02
  • Java如何实现超大Excel文件解析
    今天小编给大家分享一下Java如何实现超大Excel文件解析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、XSSFpac...
    99+
    2023-07-02
  • React全面解析excel文件
    目录React解析excel文件React上传excel预览React解析excel文件 首先安装安装xlsx插件 yarn add xlsx 使用xlsx解析         c...
    99+
    2024-04-02
  • Java实现超大Excel文件解析(XSSF,SXSSF,easyExcel)
    目录一、XSSF二、SXSSF三、easyExcel一、XSSF package com.yy.demo01; import java.io.FileInputStream; i...
    99+
    2024-04-02
  • Java操作Excel文件解析与读写方法详解
    目录一、概述二、Apache POI三、XSSF解析Excel文件1.Workbook(Excel文件)2.Sheet(工作簿)3.Row(数据行)4.Cell(单元格)四、超大Ex...
    99+
    2022-11-13
    Java Excel文件解析 Java Excel文件读写
  • java 中 poi解析Excel文件版本问题解决办法
    poi解析Excel文件版本问题解决办法poi解析Excel文件时有两种格式: HSSFWorkbook格式用来解析Excel2003(xls)的文件 XSSFWorkbook格式用来解析Excel2007(xlsx)的文件 如果用HSSF...
    99+
    2023-05-31
    poi excel ava
  • Java中的excel文件怎么利用POI进行解析
    这篇文章给大家介绍Java中的excel文件怎么利用POI进行解析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1.导入POI相关jar包org.apache.poi jar2.代码示例public List getA...
    99+
    2023-05-31
    java poi excel
  • Java下载excel文件名中文乱码解决
    我是一名充满激情的程序员,💻希望和大家一起学习进步!我热爱编程,对技术充满好奇心和求知欲! 🗣️无论你是新手还是老手,都能从我的博客中获得有价值的内容! Ὠ...
    99+
    2023-09-10
    java excel python spring
  • JAVA解析EXCEL(JExcelAPI,POI,EasyExcel)
    前言 文章目录 前言JExcelAPIDemo POIHSSFWorkBookXSSFWorkBookDemo SXSSFWorkBookDemo XSSFReaderD...
    99+
    2023-10-04
    java excel
  • 自动化测试如何解析excel文件?
    前言   自动化测试中我们存放数据无非是使用文件或者数据库,那么文件可以是csv,xlsx,xml,甚至是txt文件,通常excel文件往往是我们的首选,无论是编写测试用例还是存放测试数据,excel都是很方便的。那么今天我们就把不同模块...
    99+
    2023-01-31
    文件 测试 excel
  • Java中解析XML文件
    1.初识XML 1.1 定义         XML(EXtensible Markup Language),可扩展标记语言,相比于HTML可以自定义标签,不遵循W3C标准         XML特点:跨平台、跨语言、跨系统。XML与操作系...
    99+
    2023-09-23
    xml
  • java怎么导入excel文件
    思路分析:我们要做导入,实际上也就是先文件上传,然后读取文件的数据。我们要有一个导入的模板,因为我们导入的Excel列要和我们的数据字段匹配上,所以我们要给它来一个规定,也就是模板。首先做一个导入信息的临时表,用来存导入文件中的信息。每当导...
    99+
    2021-08-16
    java 导入 excel 文件
  • java如何导入excel文件
    Java使用POI导入Excel文件,操作起来比较简单,且支持xlsx格式。下载POI资源包从官网下载POI,本文选择的是版本是3.17,下载后文件名是poi-bin-3.17.zip。起初担心版本太新,和现有项目不兼容,后来程序跑起来没发...
    99+
    2014-12-31
    java基础 java 导入 excel文件
  • Java下载excel模板文件
    目录 一、前言二、下载模板三、Excel导入 一、前言 最近做了一个导入Excel的功能,需求: 先提供一个下载Excel模板的功能。用户下载好模板后,可以在模板文件当中填写要上传的内容,填写完过后再进行导入Excel,然后...
    99+
    2023-08-17
    java servlet 开发语言
  • Java如何实现Excel文件加密解密
    本文小编为大家详细介绍“Java如何实现Excel文件加密解密”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java如何实现Excel文件加密解密”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。概述设置excel...
    99+
    2023-06-30
  • 利用Java如何实现解析Excel文件并存入数据库中
    利用Java如何实现解析Excel文件并存入数据库中?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.web.xml中的配置文件web.xml中的配置文件就按照这种方式写,...
    99+
    2023-05-31
    java excel ava
  • java如何解析wsdl文件
    在Java中,可以使用JAX-WS来解析和处理WSDL文件。以下是解析WSDL文件的简单步骤:1. 导入必要的类和库:import ...
    99+
    2023-10-18
    java
  • java怎么读取excel文件内容
    可以使用Apache POI库来读取Excel文件内容。首先,你需要下载并导入Apache POI库。你可以在官方网站(https:...
    99+
    2023-09-20
    java excel
  • 如何在java中导入Excel文件
    这篇文章给大家介绍如何在java中导入Excel文件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、思路分析  1、我们要做导入,实际上也就是先文件上传,然后读取文件的数据。  2、我们要有一个导入的模板,因为我们导...
    99+
    2023-05-30
    java excel
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作