Excel工具-生成sql

package sqlutil;

import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;
import java.util.Objects;
import java.util.UUID;

/**
 * @author: kary.zhang
 * @create: 2024-02-22 16:00
 * @Description:
 */
@Data
public class Demo {
    public static void main(String[] args) {
        String excelFilePath = "C:\\Users\\kary.zhang\\Desktop\\模板\\组织税号映射模板.xlsx";
        String tableName = "hmapi_adapter.taxsaasv2_tax_relationship"; // 替换为你的数据库表名

        EasyExcel.read(excelFilePath)
                .sheet()
                .headRowNumber(1) // 如果Excel有标题行,设置为1
                .doReadSync() // 读取所有数据
                .forEach(row -> {
                    if (Objects.nonNull(((Map) row).get(0))) {
                        String currentDateTime = getCurrentDateTime();
                        String uuid = UUID.randomUUID().toString().replaceAll("-", "");

                        StringBuilder insertStatement = new StringBuilder("INSERT INTO ")
                                .append(tableName)
                                .append(" (`id`,`tenant_id`,`company_name`,`social_credit_code`,`org_code`,`tax_type`,`status`,`create_time`,`update_time`,`unique_code`) VALUES (")
                                .append(uuid + ", '")
                                // 租户ID
                                .append("T0000000000000, '")
                                .append(((Map) row).get(0) + ", '") // 假设第一列是column1
                                .append(((Map) row).get(1) + ", '") // 假设第二列是column2
                                .append(((Map) row).get(2) + ", '") // 假设第二列是column2
                                .append("1, '")
                                .append("1, '")
                                .append(currentDateTime + ", '")
                                .append(currentDateTime + ", '")
                                .append(((Map) row).get(2) + "');");
                        System.out.println(insertStatement);
                    }
                });
    }

    private static String getCurrentDateTime() {
        Date startTime = new Date();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        return format.format(startTime);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值