Excel的某列拼成逗号分隔的字符串

        在工作中有时会遇到下载线上数据库后把某个字段(最常见的就是id)的数据拼成逗号分隔的字符串,现在笔者简介下自身的方法,如有更好更快的方法,欢迎各位在评论区指教!

1.下载sql查到的数据,我司线上数据库下载的是excel(如下图)

 

2.我们需要先把数字转换为文本格式

方法一(强烈推荐):

用WPS打开文件,选中需要转换的数字并选择 开始-表格工具 中的选项进行转换即可。(如果没有该选项,请升级WPS版本)

方法二:

首先找出需要转换成文本格式的数字列,比如下图中的A列,然后在空白列中,比如B列的B2,输入公式“=TEXT(A2,"0")”(注意,公式需英文字符),其中B2与A2对应,”0.00“指的是小数点为2位数,如果小数点为1位数的可以写上”0.0“,或者为整数的可以写上”0“。(如下图)

写完公式之后,直接点击”Enter“回车键,结果就显示出来了,然后把鼠标放到B2边框的右下角。(如下图)

当鼠标在B2边框右下角时,会有一个“+”号出现,这是双击鼠标左键进行下拉,这时B列将会显示与A列相对于的数值。(如下图)

然后全选B列的所有数列,复制再粘贴,就会出现右下角一个类似粘贴的图标,点击这个图标,再点击一个123数值。(如下图)

这时候C列的数字全部都是文本格式显示(如下图)

把A、B列全部删除,这样A列(原来的C列)的所有数字都转化成文本格式了。(如下图)

 

3.删除第一行(如果有空行),然后将公式复制到B1单元格,图中68改为实际的行数。

=IF(MOD(ROW(A1),68)=1, PHONETIC(OFFSET(A1,0,,68)),"")

备注:该公式可玩性很高,可以尝试改为2然后下拉看效果。

 4.最后复制B1单元格粘贴到空的单元格中并选择粘贴值。

5.最后当然是手艹代码了

public static void main(String[] args) {
        String str = "62319446232049623330662333716233841623384262341676234387623438862360616237247623725162380516238248623972762397586239764623985862408746240893624089462416796241746624175662417676241783624231862431096243162624334562433466243370624368562437246245124624516162451666245353624626262466116246612624661462466196246620624681362475836247674624804462481136248541624908162490866249089624936862493786249655625008162504086344706634471163451086345114635973963597406359741638023763863356418748";
        List<String> strList = new ArrayList<>();
        for (int i=1 ; i<=68 ;i++){
            //68个数据,当然需要遍历68次了
            if (i==1){
                String substring = str.substring(0,i*7);
                strList.add(substring);
            }else {
                String substring = str.substring((i-1)*7,i*7);
                strList.add(substring);
            }
        }
        String result = StringUtils.join(strList,",");
        System.out.println(result);
    }

写后语:身为java开发,突然想到这种简单粗暴但又费时间的代码可以做个备份项目

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值