You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel将含多行内容的单元格保存为文本文件时自动添加首尾双引号的解决方法咨询

Excel将含多行内容的单元格保存为文本文件时自动添加首尾双引号的解决方法咨询

这种情况我之前也碰到过,确实挺闹心的——明明在Excel里看单元格内容没有首尾引号,导出成TXT就自动加上了。本质是Excel为了处理带换行的文本,默认用双引号作为「文本限定符」,避免导出时把单元格内的换行识别成新行,所以自动给带换行的单元格内容套了引号,而且这些引号在Excel界面里是隐藏的,自然搜不到。

给你几个实用的解决办法,按需选择就行:

方法一:用Power Query批量清洗(无代码,适合新手)

  1. 选中你已经粘贴值后的目标列,点击「数据」选项卡 → 「从表格/范围」(弹出创建表的窗口直接点确定即可)
  2. 进入Power Query编辑器后,选中要处理的列,点击「转换」选项卡 → 「添加列」→ 「自定义列」
  3. 在弹出的公式框里输入:Text.Trim([你的列名], "\"")(把「你的列名」换成实际的列标题,比如[Column1])
  4. 点击确定后,删掉原来的列,把新的自定义列重命名成你需要的名字
  5. 点击「关闭并上载」,把处理好的数据导出成TXT,首尾引号就消失了

方法二:VBA宏批量移除(适合频繁处理的场景)

如果经常需要处理这类数据,写个小宏效率更高:

Sub RemoveCellQuotes()
    Dim targetCell As Range
    ' 遍历选中的所有单元格
    For Each targetCell In Selection
        ' 判断单元格首尾是否都是双引号
        If Len(targetCell.Value) >= 2 And Left(targetCell.Value, 1) = """" And Right(targetCell.Value, 1) = """" Then
            ' 移除首尾的引号
            targetCell.Value = Mid(targetCell.Value, 2, Len(targetCell.Value) - 2)
        End If
    Next targetCell
End Sub

使用步骤:

  • 选中需要处理的单元格区域
  • 按Alt+F11打开VBA编辑器,右键点击左侧的工作簿名称 → 「插入」→ 「模块」
  • 把上面的代码粘贴进去,按F5运行宏,处理完再导出TXT就没问题了

方法三:记事本手动替换(数据量小的时候用)

如果数据不多,可以先把内容另存为CSV格式,然后用记事本打开:

  • 按Ctrl+H打开替换窗口,勾选「使用正则表达式」
  • 先查找内容填^",替换为空,点击「全部替换」(去掉开头的引号)
  • 再查找"$,替换为空(去掉结尾的引号)
    这样只会移除首尾的引号,不会影响内容里可能存在的引号(如果有的话)

额外小技巧:修改导出的文本限定符

另存为CSV的时候,点击「保存」后弹出的导出窗口里,点击「工具」→ 「常规选项」,找到「文本限定符」设置,把它改成「无」(部分Excel版本支持),这样导出时就不会自动添加引号了。

备注:内容来源于stack exchange,提问作者lalebarde

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 15:58:17