亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Excel中實現類似Java中的String format函數

標簽:
產品 挖掘

现在有个Excel文件,需要将里面的数据录入到数据库中,一开始想也许需要用POI,不过想想这么简单的需求还是不要上Java IDE了,直接用Excel拼接出SQL语句不就好了么。
图片描述

Excel中的拼接

要说起Excel中的拼接,最简单就是&或者CONCATENATE()函数,不过用来拼接SQL语句真是略有不足啊,这满屏幕的单引号、双引号、逗号百花齐放百家争鸣,看得人眼花缭乱不可开交。
图片描述

VBA开发format函数

俗话说,疾风知劲草,板荡识诚臣,这时候,就想起来Java里String format函数的优势了。那么我们能不能在Excel中也弄这么一个类似的函数呢?还好Excel提供了用VBA编写自定义函数的功能,让我们亡羊补牢。

首先定义一个叫做format的函数

Function format()
    format = "bar"
End Function

这个函数现在只有唯一的一个功能,就是返回bar这个字符串。说起来VBA也挺奇葩,没有正常的return语句,而是将和函数名同名的变量的值作为返回值,所以format这个变量的值,就是format函数的返回值。

下面扩充一下这个函数,在设想中,函数应该接收一个必选的参数作为模板,模板中#作为占位符,后面的所有参数被填充到模板中,替换占位符。

=format("INSERT INTO bar (number, manufacturer, name, android_version) values (#, '#', '#',  '#');",B1,C1,D1,E1)

所以修改一下函数签名

Function format(template, ParamArray args())
    format = "bar"
End Function

后面的ParamArray表示了一个变长参数列表,args后面的括号表示了它是一个数组。

最后工作就简单多了,遍历数组,依次替换模板中的占位符即可。

Function format(template, ParamArray args())
    format = template
    For Each arg In args
        format = Replace(format, "#", arg, 1, 1)
    Next
End Function

Excel中的format

这下终于有看着顺眼、用着方便的format函数了
图片描述

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消