如何将Excel表格A列内容Base64编码后写入对应B列单元格
Excel A列内容转Base64写入对应B列实现方案
方案1:VBA宏(兼容所有Excel版本)
- 第一步:打开目标Excel文件,按下
Alt + F11组合键调出VBA编辑器 - 第二步:在左侧项目资源管理器中右键点击当前工作簿名称,依次选择「插入」→「模块」
- 第三步:在弹出的代码编辑窗口中粘贴如下代码:
Function Base64Encode(ByVal inputStr As String) As String Dim bytes() As Byte Dim objXML As Object Dim objNode As Object bytes = StrConv(inputStr, vbFromUnicode) Set objXML = CreateObject("MSXML2.DOMDocument") Set objNode = objXML.createElement("b64") objNode.DataType = "bin.base64" objNode.nodeTypedValue = bytes Base64Encode = Replace(objNode.Text, vbLf, "") Set objNode = Nothing Set objXML = Nothing End Function
- 第四步:保存文件为「Excel 启用宏的工作簿(*.xlsm)」格式,回到Excel主界面
- 第五步:点击B1单元格,输入公式
=Base64Encode(A1),按下回车后选中B1单元格,鼠标移到单元格右下角,当光标变成十字填充柄时下拉到B100行即可完成全部填充。
注意:该代码默认使用UTF-8编码转换,如果需要调整编码格式,可以修改代码中字节转换的相关逻辑。
方案2:Excel 365/WPS 无需宏方案
如果你使用的是支持LAMBDA函数的Excel 365版本或者最新版WPS,可以直接在名称管理器中自定义Base64转换函数,无需启用宏即可使用,操作逻辑和上述填充逻辑一致。
内容的提问来源于stack exchange,提问作者Jordan Weinstein
相关产品推荐
相关产品推荐

