JAVA实现Excel模板导入案例分析

本文介绍了一个Java案例,将Excel数据导入到PostgreSQL数据库,涉及数据校验、MyBatisPlus实体和Mapper设计。通过遍历Excel行和列,利用反射设置对象属性并保存到数据库。此外,讨论了实际应用中可能遇到的复杂性和扩展需求,如分布式环境、数据校验规则和异常处理策略。
摘要由CSDN通过智能技术生成

需求:将excel中的所有数据导入到PG数据库的对应数据表中,需要对数据进行校验等操作

maven依赖:

    <properties>
        <hutool.version>5.5.1</hutool.version>
        <poi.version>3.17</poi.version>
    </properties>
    
    
   <!-- excel工具 -->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>${poi.version}</version>
        </dependency>

        <!-- hutool相关依赖 -->
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>${hutool.version}</version>
        </dependency>

PG数据表的设计:


CREATE TABLE "public"."shopping_detail" (
  "id" int8 NOT NULL,
	"order_id" varchar(50) COLLATE "pg_catalog"."default" NOT NULL,
  "good_name" varchar(50) COLLATE "pg_catalog"."default" NOT NULL,
  "address" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
  "receiver" varchar(50) COLLATE "pg_catalog"."default",
  "phone" varchar(30) COLLATE "pg_catalog"."default",
  "num" varchar(10) COLLATE "pg_catalog"."default" NOT NULL,
  "create_by" varchar(30) COLLATE "pg_catalog"."default",
  "create_time" timestamptz(6),
  "update_by" varchar(30) COLLATE "pg_catalog"."default",
  "update_time" timestamptz(6),
  "remark" varchar(500) COLLATE "pg_catalog"."default",
  CONSTRAINT "cgm_drug_info_pkey" PRIMARY KEY ("id")
)
;

ALTER TABLE "public"."shopping_detail"
  OWNER TO "postgres";

COMMENT ON COLUMN "public"."shopping_detail"."id" IS '主键ID';

COMMENT ON COLUMN "public"."shopping_detail"."order_id" IS '订单号';

COMMENT ON COLUMN "public"."shopping_detail"."good_name" IS '商品名称';

COMMENT ON COLUMN "public"."shopping_detail"."address" IS '收货地址';

COMMENT ON COLUMN "public"."shopping_detail"."receiver" IS '收件人';

COMMENT ON COLUMN "public"."shopping_detail"."phone" IS '手机号';

COMMENT ON COLUMN "public"."shopping_detail"."num" IS '数量';

COMMENT ON COLUMN "public"."shopping_detail"."create_by" IS '创建人(账号name)';

COMMENT ON COLUMN "public".
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值