171Excel Sheet Column Number表列序号

本文介绍了一种将Excel表格中的列名称转换为其相应列序号的算法。通过26进制到十进制的转换,实现了从A到1、AB到28、ZY到701等的精确映射。此算法适用于快速定位大型电子表格中的具体列位置。

给定一个Excel表格中的列名称,返回其相应的列序号。

例如,

A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ...

示例 1:

输入: "A" 输出: 1

示例 2:

输入: "AB" 输出: 28

示例 3:

输入: "ZY" 输出: 701

 

26进制转回十进制

 

class Solution {
public:
    int titleToNumber(string s) {
        if(s.size() == 0)
            return 0;
        int res = 0;
        for(int i = 0; i < s.size(); i++)
        {
            int x = s[i] - 'A' + 1;
            res = res * 26 + x;
        }
        return res;
    }
};

 

package com.hand.xmc.domain.dto; import lombok.Data; import org.hzero.export.annotation.ExcelColumn; import org.hzero.export.annotation.ExcelSheet; import java.math.BigDecimal; import java.time.LocalDate; /** * 信用证付款记录 */ @Data @ExcelSheet(zh = "信用证报告", en = "Lcdp Report") public class LcPaymentRecordDTO { @ExcelColumn(zh = "Type", en = "type") private String type; // 信用证类型 @ExcelColumn(zh = "No", en = "serialNumber") private String serialNumber; // 序列号 @ExcelColumn(zh = "PO No", en = "poNo") private String poNo; // 采购订单号 @ExcelColumn(zh = "LC Issue Bank", en = "lcIssueBank") private String lcIssueBank; // 开证银行 @ExcelColumn(zh = "L/C No", en = "lcNo") private String lcNo; // 信用证号 @ExcelColumn(zh = "Vendor", en = "vendor") private String vendor; // 供应商 @ExcelColumn(zh = "Currency", en = "currency") private String currency; // 货币类型 @ExcelColumn(zh = "LC Amount", en = "lcAmount") private BigDecimal lcAmount; // 信用证金额 @ExcelColumn(zh = "Payment Term", en = "paymentTerm") private String paymentTerm; // 付款条件 @ExcelColumn(zh = "Received the documents date", en = "docReceivedDate") private LocalDate docReceivedDate; // 收单日期 @ExcelColumn(zh = "Term of Acpt", en = "acceptanceTerm") private LocalDate acceptanceTerm; // 承兑期限 @ExcelColumn(zh = "Date of Payment", en = "paymentDate") private LocalDate paymentDate; // 付款日期 @ExcelColumn(zh = "Payment Amount", en = "paymentAmount") private BigDecimal paymentAmount; // 付款金额 @ExcelColumn(zh = "Original documents", en = "hasOriginalDocs") private String hasOriginalDocs; // 是否原件(Y/N) @ExcelColumn(zh = "Ratio of payment", en = "paymentRatio") private BigDecimal paymentRatio; // 付款比例 @ExcelColumn(zh = "Discrepancy", en = "discrepancyStatus") private String discrepancyStatus; // 不符点状态 @ExcelColumn(zh = "Discrepancy description", en = "discrepancyDesc") private String discrepancyDesc; // 不符点描述 @ExcelColumn(zh = "Times of receipts the documents", en = "docReceiptTimes") private Integer docReceiptTimes; // 收单次数 } 这是我的返回实体类 -- HZERO.XMC_LCDP_REQUEST_ACCEPT definition CREATE TABLE "HZERO"."XMC_LCDP_REQUEST_ACCEPT" ( "ID" NUMBER, "LCDP_ACCEPT_NO" NUMBER(19,0), "PO_NO" VARCHAR2(255), "INCO_TERM" VARCHAR2(255), "VENDOR" VARCHAR2(255), "PMNT_DESC" VARCHAR2(255), "CURRENCY" VARCHAR2(255), "PO_AMOUNT" NUMBER(23,4), "LC_NO" VARCHAR2(255), "APPLICATION_TYPE" VARCHAR2(255), "ISSUE_BANK" VARCHAR2(255), "ISSUE_DATE" DATE, "TERM_OF_ACPT" DATE, "RECEIPTS_THE_DOCUMENTS" DATE, "DATE_OF_PAYMENT" DATE, "PAYMENT_AMOUNT" NUMBER(23,4), "TOTAL_PAYMENT_AMOUNT" NUMBER(23,4), "ORIGINAL_DOCUMENTS" VARCHAR2(255), "RELEASE_DEPOSIT_DATE" DATE, "DISCREPANCY" VARCHAR2(255), "RELEASE_DEPOSIT_AMOUNT" NUMBER(23,4), "DISCREPANCY_DESC" VARCHAR2(255), "MOVEIN_DATE" DATE, "MATN_MAN" VARCHAR2(255), "STATUS" VARCHAR2(255), "CREATED_AT" DATE, "UPDATED_AT" DATE, "WORKFLOW_START_DATE" DATE, "WORKFLOW_END_DATE" DATE, "WORKFLOW_ID" NUMBER(19,0), "LCDP_NO" VARCHAR2(64), "PAYMENT_COUNT" NUMBER(10,0), "CREATED_BY" VARCHAR2(50), "UPDATED_BY" VARCHAR2(50), "VERSION" NUMBER DEFAULT 0, "IS_DELETED" CHAR(1) DEFAULT 'N', "TENANT_ID" NUMBER NOT NULL ENABLE, "REQUESTOR" VARCHAR2(200) NOT NULL ENABLE, "MOBILE" VARCHAR2(50), "DEPT_CODE" VARCHAR2(100) NOT NULL ENABLE, "EMAIL" VARCHAR2(100), "PO_NUMBER" VARCHAR2(100), "PAYMENT_TERM" VARCHAR2(200), "REMAINING_PAYMENT_AMOUNT" NUMBER(18,2), "REQUIRE_DATE" DATE, "CREATION_DATE" DATE, "LAST_UPDATED_BY" VARCHAR2(150), "LAST_UPDATE_DATE" DATE, "OBJECT_VERSION_NUMBER" NUMBER, "APP_DATE" DATE, PRIMARY KEY ("ID") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "HZERO" ENABLE ) SEGMENT CREATION IMMEDIATE PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "HZERO" ; CREATE INDEX "HZERO"."IDX_XMC_ACCEPT_LCDP_NO" ON "HZERO"."XMC_LCDP_REQUEST_ACCEPT" ("LCDP_NO") PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "HZERO" ; CREATE INDEX "HZERO"."IDX_XMC_ACCEPT_PO_NO" ON "HZERO"."XMC_LCDP_REQUEST_ACCEPT" ("PO_NO") PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "HZERO" ; CREATE INDEX "HZERO"."IDX_XMC_ACCEPT_STATUS" ON "HZERO"."XMC_LCDP_REQUEST_ACCEPT" ("STATUS") PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "HZERO" ; CREATE UNIQUE INDEX "HZERO"."SYS_C00418600" ON "HZERO"."XMC_LCDP_REQUEST_ACCEPT" ("ID") PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "HZERO" ; COMMENT ON TABLE HZERO.XMC_LCDP_REQUEST_ACCEPT IS 'LCDP请求受理单表'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.ID IS '主键ID'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.LCDP_ACCEPT_NO IS 'LCDP受理编号'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.PO_NO IS '采购订单编号'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.INCO_TERM IS '贸易术语'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.VENDOR IS '供应商名称'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.PMNT_DESC IS '付款描述'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.CURRENCY IS '币种'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.PO_AMOUNT IS '订单金额'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.LC_NO IS '信用证编号'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.APPLICATION_TYPE IS '单据类型'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.ISSUE_BANK IS '开证银行'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.ISSUE_DATE IS '开证日期'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.TERM_OF_ACPT IS '承兑期限'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.RECEIPTS_THE_DOCUMENTS IS '单据收妥日期'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.DATE_OF_PAYMENT IS '付款日期'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.PAYMENT_AMOUNT IS '付款金额'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.TOTAL_PAYMENT_AMOUNT IS '累计付款金额'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.ORIGINAL_DOCUMENTS IS '原始单据'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.RELEASE_DEPOSIT_DATE IS '释放保证金日期'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.DISCREPANCY IS '单证不符点'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.RELEASE_DEPOSIT_AMOUNT IS '释放保证金金额'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.DISCREPANCY_DESC IS '单证不符点描述'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.MOVEIN_DATE IS '入库日期'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.MATN_MAN IS '维护人'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.STATUS IS '状态标识'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.CREATED_AT IS '创建时间'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.UPDATED_AT IS '更新时间'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.WORKFLOW_START_DATE IS '流程开始时间'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.WORKFLOW_END_DATE IS '流程结束时间'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.WORKFLOW_ID IS '流程实例ID'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.LCDP_NO IS 'LCDP编号'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.PAYMENT_COUNT IS '付款次数'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.CREATED_BY IS '创建人'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.UPDATED_BY IS '更新人'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.VERSION IS '版本号(用于乐观锁)'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.IS_DELETED IS '逻辑删除标识'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.TENANT_ID IS '租户ID'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.REQUESTOR IS '申请人(工号+姓名拼接)'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.MOBILE IS '手机号'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.DEPT_CODE IS '部门编码'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.EMAIL IS '邮箱'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.PO_NUMBER IS '采购订单编号'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.PAYMENT_TERM IS '付款条款'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.REMAINING_PAYMENT_AMOUNT IS '剩余付款金额'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.REQUIRE_DATE IS '需求日期'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.CREATION_DATE IS '创建日期'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.LAST_UPDATED_BY IS '最后更新人'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.LAST_UPDATE_DATE IS '最后更新时间'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.OBJECT_VERSION_NUMBER IS '对象版本号'; COMMENT ON COLUMN HZERO.XMC_LCDP_REQUEST_ACCEPT.APP_DATE IS '申请/审批日期';这是我的表 帮我根据我的实体类写xml查询语句
09-11
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值