JAVA操作excel-POI及EasyExcel

POI与easyExcel POI Apache POI 官网 easyExcel easyExcel 官网地址 EasyExcel 是阿里巴巴开源的一个excel处理框架,以使用简单、节省内存著称。 EasyExcel 能大大减少占用内存的主要原因是在解析 Excel 时没有将文件数据一次性全部加载到内存中, 而是从磁盘上一行行读取数据,逐个解析。 下图是 EasyExcel 和 POI 在解析Excel时的对比图。 官方文档 POI快速开始 写 创建项目 导入依赖 由于excel分为03和07版的所以下面两个版本都导入了 阅读详情

POI及EasyExcel

POI官网

EasyExcel官网

EasyExcel使用说明

POI

操作excel的组件列表:

​ HSSF : 它被用来读取和写入MS-Excel文件的xls格式。—03版本excel

​ XSSF : 它是用于MS-Excel中xlsx文件格式。—07版本excel

1. 导入依赖

  • 03版本excel,.xls表格文件,最多支持65535行数据
<!--xls 03版本 -->
       <dependency>
           <groupId>org.apache.poi</groupId>
           <artifactId>poi</artifactId>
           <version>3.9</version>
       </dependency>
  • 07版本excel,.xlsx表格文件,不限行数
<!--xls 07版本 xlsx-->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.9</version>
        </dependency>

2. 对象分析

​ 表格操作会涉及到4个对象:

​ 工作表:WorkBook

​ 工作簿:Sheet

​ 行:Row

​ 单元格(列):Cell

3. 代码操作-写

#### 3.1 写入03版本excel---HSSF
 @Test
    public void test03() throws IOException {
         String path = "V:\\study\\excel\\excel-poi";		//获取项目路径
        //创建03版本的xls表格
        Workbook workbook = new HSSFWorkbook(); 		//创建工作表
        Sheet sheet = workbook.createSheet("人员统计表");		//创建工作簿
        ---sheet
        Row row = sheet.createRow(0); 			//创建行,0代表第一行
        Cell cell1 = row.createCell(0);        //创建列,此处创建了坐标 1,1的单元格
        cell1.setCellValue("数量");			//设置单元格的值
        Cell cell2 = row.createCell(1);        //此处创建坐标1,2的单元格
        cell2.setCellValue(10);
        //03版本,文件名以xls结尾
        FileOutputStream outputStream = new FileOutputStream(path + "人员统计表.xls");  //创建文件输出流
        workbook.write(outputStream);
        outputStream.close();		//关闭流
        System.out.println("表格生成完成");
    }

03版本如果一次性写入数据超过65535,会报异常。

3.2 写入07版本excel—XSSF
  @Test
    public void test07() throws IOException {
        String path = "V:\\study\\excel\\excel-poi";		//获取项目路径
        //创建07版本的xls表格
        Workbook workbook = new XSSFWorkbook();
        //创建工作表---sheet
        Sheet sheet07 = workbook.createSheet("人员统计表");
        //创建行
        Row row = sheet07.createRow(0);//第一行
        //创建列,此处创建了坐标 1,1的单元格
        Cell cell1 = row.createCell(0);
        cell1.setCellValue("数量");
        //此处创建坐标1,2的单元格
        Cell cell2 = row.createCell(1);
        cell2.setCellValue(100);
        //07版本,文件名以xls结尾
        FileOutputStream outputStream = new FileOutputStream(path + "人员统计表.xlsx");
        workbook.write(outputStream);
        outputStream.close();
        System.out.println("表格生成完成");
    }
3.3 大数据写07版本—SXSSF
 @Test
    public void test07Bigdata() throws IOException {
          String path = "V:\\study\\excel\\excel-poi";		//获取项目路径
        long begin = System.currentTimeMillis();
        //创建07版本的xlsx表格,处理大数据
        Workbook workbook = new SXSSFWorkbook();
        //创建工作表---sheet
        Sheet sheet = workbook.createSheet("测试大数据S");
        for (int rowNo=0 ;rowNo<100000;rowNo++){
            Row row = sheet.createRow(rowNo);
            for (int cellNo = 0 ;cellNo<10;cellNo++){
                Cell cell = row.createCell(cellNo);
                cell.setCellValue(cellNo);
            }
        }
        //07版本,文件名以xlsx结尾
        FileOutputStream outputStream = new FileOutputStream(path + " 测试大数据S.xlsx");
        workbook.write(outputStream);
        outputStream.close();
        //使用SXSSF会产生临时文件,需要删除
        ((SXSSFWorkbook)workbook).dispose();
        long end = System.currentTimeMillis();
        System.out.println("over");
        System.out.println(end - begin);
    }
  • HSSF,一次性最多写入65535行数据;
  • XSSF,一次性可以写入大量数据,但是耗时长;
  • SXSSF,XSSF的加速版,大数据写入快(过程中会产生临时文件,需要删除)。

代码操作-读

@Test
    public void TestReadCellType() throws IOException {
          String path = "V:\\study\\excel\\excel-poi";		//获取项目路径
        FileInputStream fileInputStream = new FileInputStream(path+"\\人员信息表.xls");
        Workbook workbook = new HSSFWorkbook(fileInputStream);
        //获取工作簿
        Sheet sheet = workbook.getSheetAt(0);
        Row rowTitle = sheet.getRow(0);    		//	获取第一行,标题行
        if(rowTitle!=null){
            //获取列数
            int cells = rowTitle.getPhysicalNumberOfCells();
            for (int cellNo = 0; cellNo <cells ; cellNo++) {
                Cell cell = rowTitle.getCell(cellNo);
                if(cell!=null){
                    int cellType = cell.getCellType();
                    System.out.print("|");
                    System.out.print(cell.getStringCellValue());
                }
            }
        }
        System.out.println();
        //读取除标题行外的所有数据
        int rows = sheet.getPhysicalNumberOfRows();
        for (int rowNo = 1 ; rowNo <rows ; rowNo++) {
            Row row = sheet.getRow(rowNo);
            if(row!=null){
                //获取所有列
                int cells = row.getPhysicalNumberOfCells();
                for (int cellNo = 0; cellNo <cells; cellNo++) {
                    Cell cell = row.getCell(cellNo);
                    int cellType = cell.getCellType();
                    switch (cellType){
                        case HSSFCell.CELL_TYPE_STRING://字符串
                            String value = cell.getStringCellValue();
                            System.out.println("String:"+value);
                            break;
                        case HSSFCell.CELL_TYPE_BOOLEAN://boolean类型
                            System.out.println("Boolean:"+String.valueOf(cell.getBooleanCellValue()));
                            break;
                        case HSSFCell.CELL_TYPE_NUMERIC://数字类型
                            //数字类型要判断是日期还是数字
                            if(HSSFDateUtil.isCellDateFormatted(cell)){
                                System.out.print("日期:");
                                Date date = cell.getDateCellValue();
                                System.out.println(new DateTime(date).toString("yyyy-MM-dd HH:mm:ss"));
                            }else {
                                //如果是数字,为了防止数字类型过大,先转为字符类型,再获取
                                cell.setCellType(HSSFCell.CELL_TYPE_STRING);
                                System.out.println("转为字符串输出"+cell.getStringCellValue());
                            }
                            break;
                        case HSSFCell.CELL_TYPE_ERROR:
                            System.out.println("数据类型错误");
                    }
                }
            }
        }
        fileInputStream.close();
    }

读取操作,需要针对不同的数据类型做判断,用不同的api获取值;

EasyExcel

导入依赖

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
            <version>2.2.9</version>
        </dependency>

代码操作-写

  • 创建数据实体类
public class TestData {  //	这边全都是标题行
    @ExcelProperty("姓名")
    private String name;
    @ExcelProperty("年龄")
    private Integer age;
    @ExcelProperty("生日")
    private Date birth;
    @ExcelIgnore
    private String ingore;
}
  • 初始化数据
  public static List<TestData> data(){
    List<TestData> list = new ArrayList<TestData>();
        for (int i = 0; i <5 ; i++) {
            TestData testData = new TestData();
            testData.setName("人员"+i);
            testData.setAge(i);
            testData.setBirth(new DateTime(new Date()).toDate());
            list.add(testData);
        }
        return list;
    }
  • 写入数据

       @Test
        public void simpleWrite() throws FileNotFoundException {
            String path = "V:\\study\\excel";
            String fileName = path+"\\easyExcelWrite.xlsx";
            //指定用哪个class去写
            //write(文件名,格式类)
            //sheet(工作簿名称)
            //doWrite(数据)
           EasyExcel.write(fileName,TestData.class).sheet("人员").doWrite(data());
        }
    
  • 执行结果
    在这里插入图片描述

代码操作-读

  1. 创建监听器,继承AnalysisEventListener类,重写方法,方法中写逻辑

    public class DataDemoListener extends AnalysisEventListener<TestData> {
            private static final Logger LOGGER = LoggerFactory.getLogger(DataDemoListener.class);
            /**
             * 每隔5条存储数据库,实际使用中可以3000条,然后清理list ,方便内存回收
             */
            private static final int BATCH_COUNT = 5;
            List<TestData> list = new ArrayList<TestData>();
    		//解析每一条数据都会执行此方法
        public void invoke(TestData testData, AnalysisContext analysisContext) {
            LOGGER.info("解析到一条数据:{}", JSON.toJSONString(testData));
            System.out.println(testData);
        }
    		//所有数据解析完成了 都会来调用此方法
        public void doAfterAllAnalysed(AnalysisContext analysisContext) {
            System.out.println("解析成功");
        }
    }
    
  2. 读取数据,将监听器作为参数传入

        @Test
        public void simpaleRead(){
            String path = "V:\\study\\excel";
            String fileName = path+"\\easyExcelWrite.xlsx";
            // 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭
            EasyExcel.read(fileName, TestData.class, new DataDemoListener()).sheet().doRead();
        }
    
  3. 执行结果
    在这里插入图片描述

参考狂神说java。

【成品Free下载】解决Easy Excel的poi版本冲突的方法,老项目直接拿去用 后面由我来做导入功能,而我想用Easy Excel来做,这就会导致poi版本不一致造成了冲突。因为之前的导入导出是基于poi-3.15做的,之前其他人做的导入导出功能代码我也不想进行修改。老项目有需求需要支持导入导出功能,可老项目之前有其他开发人员做了不少导入导出功能,而且他们是基于poi-3.15版本,但是Easy Excel官方支持的poi最低版本是3.17。其原理是下载Easy Excel源码(我用的是easyexcel-2.2.11,附上Easy Excel 官网2.x文档。 阅读详情

相关推荐

Java 使用POI、easyExcel、Hutool 操作导出excel的三种方法

春风如贵客,一到便繁华。各位看官点赞再看,养成好习惯(●´∀`●) 前言: 日常开发中,经常回使用Java导出和导入excel、针对一些特殊的项目的需求,我着重讲解下,使用老版本的POI导出07格式的excel和使用阿里开源的excel工具 easyExcel。hutool后两个开源项目可以再官网找到最新的文档,这里只做简述,不做引出。 1. 使用POI导出2007格式的excel文件。 1. ...

李人 4869

easyExcel 与 POI 基础知识

*创建工作簿对象:**其中org.apache.poi.ss.usermodel.Workbook是一个接口,有三个实现类,分别是HSSFWorkbook(Excel 03 版本)、SXSSFWorkbook(可以加快速度的处理07版本Excel)、XSSFWorkbook(Excel 07 版本,处理速度会慢一点)下面的实现,Workbook接口的实现类是XSSFWorkbook,IO流输出的文件的名称结尾是".xlsx",除此之外其他的基本相同。(07 版Excel,没有限制多少行)

weixin_51351637的博客 3387

Java 操作 Excel(POI及EasyExcel)

视频地址(狂神说):https://www.bilibili.com/video/BV1Ua4y1x7BK 介绍 https://baike.baidu.com/item/POI/8886826?fr=aladdin pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3

菜鸟踩坑 771

EasyExcel与POI

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bfQ2tCcU-1664283941992)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20220927162011271.png)]

weixin_59048239的博客 4697

easyExcel2.2.6、poi3.17独立版jar包,解决使用easyExcel2.2.6时poi3.17与3.9或4.1.2jar包冲突

easyExcel支持最低的POI版本是3.17,现有项目若已用POI版本比这高的话,希望不改变现有的引用,解决jar包冲突的话,使用该独立版的jar包。该包已改过包名,亲测可兼容使用,网上有说把poi升级到4.1.2但是试了导出还是报错,我的原来是3.9版本升到4.1.2还涉及改动代码有风险,所以干脆按自己修改包引用打了个独立的jar包,也可留后续其他项目备用。其中commons-collections4若项目中已有则不用引用。

基于PCIE8311+FPGA+TMS320F28335 PCIE应用项目开发板PROTEL99设计硬件(原理图+PCB)文件

基于PCIE8311+FPGA+TMS320F28335 PCIE X1应用项目开发板PROTEL99设计硬件(原理图+PCB)文件,Protel 99se 设计的项目工程文件,包括原理图及PCB印制板图,可用Protel或 Altium Designer(AD)软件打开或修改,都已经制板在实际项目中使用,可作为你产品设计的参考。

GJZGRB的博客 577

【Excel】Java 操作 Excel 的两种方式:POI、EasyExcel

1. 了解 POI 和 EasyExcel Java 中,常见的用来操作 Excel 的方式有 2 种:POI、EasyExcel。主要用于:对 Excel 进行导入、导出。 POI:Apache。一种原生操作 Excel(复杂) HSSF : 读写 Microsoft Excel XLS 格式文档 XSSF : 读写 Microsoft Excel OOXML XLSX 格式文档 SXSSF : 读写 Microsoft Excel OOXML XLSX 格式文档(优化) EasyExcel:更像

sco5282的博客 2352

SMPTE ST 2110 概论(一)

SMPTE ST 2110 概论(一)前言ST 2110与ST 2022-6ST 2110-10:基本结构与时序ST 2110-20:未压缩的视频流后续 前言 这是一份我在实习期间制作的,关于SMPTE ST 2110的简单介绍。 这篇文章主要以梳理总结 SMPTE ST 2110 的概念为主,关于具体的内容,比如IP数据报的格式、RTP时间戳的具体代码内容等等,大家可以查阅 SMPTE ST 2...

Cidd0422的博客 2万+

Java通过POI及EasyExcel操作excel文档

1.前言 在开发中我们不可豁免的需要操作Excel文档,所以下文我们简单介绍下POI与EasyExcel如何去操作 Excel文档。 2.POI简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读 和写的功能。 HSSF - 提供读写Microsoft Excel格式档案的功能。(03版) XSSF - 提供读写Microsoft Excel OOXML格式档案的功能。(07版) HWPF - 提供读写.

qq_33274797的博客 531

基于boot + 双app升级方案

基于boot+双app的升级方案

weixin_44654285的博客 4515

OpenAI Codex 桌面端国内使用全坑解決指南(2026 Windows 实测)

本地文件报错:SQLite 初始化失败、启动闪退、卡加载页 → 本地缓存/数据库损坏,和网络无关网络地区报错→ 网络IP/地区被拦截,和本地软件文件无关Codex 桌面端的大部分报错,都不是软件故障,而是海外软件适配国内网络、国内模型协议不兼容导致的适配问题。不用盲目重装、换网络、改系统设置,只要区分「本地文件问题」和「网络地区问题」,搭配国内大模型 API 替代方案,就能完美解决所有痛点。(注:部分内容可能由 AI 生成)

ups_hxc的博客 1100

Java使用poi/easyexcel操作excel

前言 在工作的开发过过程中,我们总会遇到将数据导出到excel的需求,下面会讲解当今比较流行的两个工具实现使用Java操作excel 1:poi 2:easyexcel POI介绍 使用poi会相对比较原生,相较于easyExcel比较复杂 针对上图的基本功能的 1 2,workbook的实现类有三个接口。其中SXSSFWorkbook操作excel07版XSSF的升级,速度比XSSF更快。具体下面有写 POI实战-写的操作: 都入相关依赖 <!--xls 03--> &lt

qq_41934680的博客 1402

结构优化软件:OptiStruct_(11).拓扑优化

在OptiStruct中,设计空间可以通过定义设计区域来实现。设计区域是结构中可以进行材料变化的部分。几何区域:通过几何选择工具选择特定的区域。网格区域:通过网格选择工具选择特定的单元。假设我们有一个简单的梁结构模型,网格文件为beam.fem。我们希望在梁的中部进行拓扑优化,以减轻重量并保持刚度。

kkchenjj的博客 1367

【POI和EasyExcel】Java操作Excel

文章目录一、介绍二、POI 实现 Excel 的基本写入三、POI 实现大量数据的 Excel 写入四、POI 实现 Excel 的基本读取五、POI实现读取不同数据类型的数据(☆)六、计算公式(拓展)七、EasyExcel 操作 Excel 一、介绍 二、POI 实现 Excel 的基本写入 相关依赖 <!-- office 2003 --> <dependency> <groupId>org.apache.poi</groupId>

✈ 正在努力 の 寒江(StudiousTiger) ✌ 呐 ✈ 270

【STM32项目】基于AI技术的多功能消防机器人(完整工程资料源码)

机器人通过巡逻扫描环境空间与障碍物、定位导航、探测物体/环境进行建模/自动地图测绘、扫描火焰、获取温湿度大小、获取空气安全情况来判断当前环境地点是否安全,检测到温度过高或检测到易燃、烟雾、有毒气体或摄像头识别到火焰时能够通过高压水泵喷射器来实现火焰隔离工作,蜂鸣器进行现场鸣笛报警,同时将当前环境温湿度大小、空气情况、环境地图、是否安全信息,将各个传感器来接收获取到的信息,实时发送到用户手机中的微信小程序,实现与用户远程监视功能,用户同时也能通过手机与电脑远程下发命令来操控机器人来实现交互功能

嵌入式技术开发 1万+

audio语音相关的基础知识-VAD,ASR,AEC,AGC,BF等

有音素之间的间隙,也有静音和语音本身的间隙,为了对数据从时间上进行相对的校准,语音端点检测技术就应运而生了,因此端点检测技术可以决定这种校准的相对精度,使得同一内容的特征更趋于相同,当然,一般情况下是不可能完全相同的。盲源分离的目的是求得源信号的最佳估计,盲辨识的目的是求得传输通道的。这个技术的主要任务是从带有噪声的语音中准确的定位出语音的开始和结束点,因为语音中含有很长的静音,也就是把静音和实际语音分离开来,因为是语音数据的原始处理,所以VAD是语音信号处理过程的关键技术之一。呈现出与会者清晰的声音。

u013250861的博客 1034

EasyExcel 与 Apache POI:Java 操作 Excel 的详解

EasyExcel 是阿里巴巴开源的一个基于 Java 的 Excel 操作库。它在传统的 Excel 操作库(如 Apache POI)基础上进行了封装和优化,提供了更简洁的 API 和更高的性能,尤其是在处理大数据量的 Excel 文件时表现出色。Apache POI 是一个开源的 Java 库,用于操作各种 Microsoft Office 格式的文件,包括 Excel、Word、PowerPoint 等。它提供了低级 API 和高层 API,可以进行文件的读取、写入、创建、修改等操作。

技术驱动,分享互联网软件的那些事儿。关注我,获取有深度、有温度的技术内容,开启你的技术之旅。 1586

腾讯面试——机器学习岗面试总结

先写合并两个有序数组,接着写合并n个有序的数组,假设总共m个数,讲了一个思路两两合并直到只剩下一个数组,分析一下时间复杂度(MlogN),面试官不满意,然后想了一下说了另一个思路,用n个指针开始指向各个数组的首端,用一个优先队列维护他们的最小值,每次拿出最小值的指针然后插入该指针的下一个值。感觉跟二面面试官聊得还是挺开心的,他详细地介绍了他们部门所做的业务,然后问了一下什么时候能来实现,我说只能暑假七八两个月,他觉得有点晚,这样子不利于转正,有些人都实习半年的,回去讨论一下,正式批之前给我答复。

FPGA/MATLAB学习教程/源码/项目合作开发 1231

Java操作excel(POI、EasyExcel)

Apache POI和EasyExcel学习 easyExcel easyExcel 官网地址:https://www.yuque.com/easyexcel/doc/easyexcel EasyExcel是阿里巴巴开源的一个excel处理框架,以使用简单,节省内存著称 EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。在尽可能节约内存的情况下支持读写百M的Excel。 github地址:https://github.com/alibaba/easyexcel 对比:

Inmaturity_7的博客 1941

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

使用Java操作Excel,poi、easyExcel

使用Java操作Excel,poi、easyExcel 为了能够用java实现数据自动填入Excel,学习了一些相关的知识内容,这里记录一下。 一、使用poi 对于2007+版本的Excel,使用XSSF进行操作,需要导入两个jar包: <dependency> <groupId>org.apache.poi</groupId> <arti...

weixin_44434894的博客 556

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Java操作excel之POI和easyExcel 教程详解 狂神笔记

文章目录1.应用场景2.Apache POI简介项目准备代码演示大文件写HSSF-03大文件写XSSF-07大文件写SXSSF-07升级版POI-Excel读3.easyExcel简介项目准备EasyExcel写入操作EasyExcel读取操作 1.应用场景 将用户信息导出为excel表格 讲Excel表中的信息录入到网站数据库,大大减小网站数据的录入量! 开发中经常会涉及到excel的处理,如导出Excel到数据库中! 操作Excel目前比较流行的就是Apache POI和阿里巴巴的easyExcel

super_song的博客 1436

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Java操作Excel导入导出——POI、Hutool、EasyExcel

Java操作Excel导入导出——POI、Hutool、EasyExcel

雷神乐乐的博客 2589

Java操作Excel三种方式POI、Hutool、EasyExcel

Java操作Excel三种方式POI、Hutool、EasyExcel1. Java操作Excel概述1.1 Excel需求概述1.2 Excel操作三种方式对比2. ApachePOIExcel2.1 ApachePOI简介2.2 ApachePOI功能结构2.3 ApachePOI官网说明2.4 ApachePOI实现验证3. HutoolExcel3.1 Hutool简介3.2 Hutool组件3.1 HutoolExcel实现验证4. EasyExcel4.1 EasyExcel简介4.2 Huto

靖节先生的博客 7211

java操作Excel两种方式EasyExcel 和POI

EasyExcel 会将 Excel 数据和 Java 对象之间绑定起来。2.创建跟 Excel 数据格式对应的 Java 类。二、EasyExcel。

2302_77426533的博客 555

Java操作Excel表格(POI和easyExcel)

Java操作Excel表格 POI 和 easyExcel 常用信息 1、将用户信息导出为excel表格(导出数据… ) 2、将Excel表中的信息录入到网站数据库(习题上传… ) 开发中经常会设计到excel的处理,如导出Excel ,导入Excel到数据库中! 操作ExceI目前比较流行的就是Apache POI和阿里巴巴的easyExcel ! Apache POI Apache POI 官网: https://poi.apache.org/ HSSF一提供读写Microsoft Excel

zhao_to的博客 349

Java操作Excel导入导出—三种方式—POI、Hutool、EasyExcel

java操作execl导入导出的 三种jar包的 和操作方式

ooopopdj的专栏 588
上一篇: JAVA双亲委派机制
下一篇: lambda及stream学习
Vicious_Sea
博客等级 码龄9年 8粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值