如何将 Excel 数据粘贴为固定宽度的文本?

ein*_*lum 16 text-editing fixed-width microsoft-excel

如果我在 Excel 中复制数据并将其粘贴到文本文件中,则会在单元格之间获得选项卡。这不好,我想要空格 - 我想要列对齐。我怎样才能不费吹灰之力地做到这一点(显然我不想开始手动运行正则表达式等)

使用“另存为”(如在这个问题中)对我来说不是解决方案,我需要复制和粘贴。

Pyn*_*ner 14

这当然不是很容易解释……但是在设置之后,它将以最少的努力工作。这也是@pnuts 概述的略有不同

我建议使用可以复制粘贴到的模板电子表格。我创建的模板有 3 个选项卡,如下所示。

标签

  • Data tab 是粘贴数据的地方
  • Length 将做一些数学运算来确定最长的列
  • Space insert 将插入适当数量的空格(编辑),您可以从此处复制并获得正确的结果

长度标签看起来像

长度

第 1 行具有以下列的最大字符数是并包含公式

=MAX(A2:A101)+1
Run Code Online (Sandbox Code Playgroud)

+1 创建分隔符。

第 2 行到第 n 行(在本例中我已将其扩展到 100)包含一个计算每个字符串长度的公式

=LEN('Data tab'!A1)
Run Code Online (Sandbox Code Playgroud)

空间插入选项卡看起来像

空格插入

每个单元格都包含一个单元格,用于与最大值(+ 分隔符)进行比较来评估自身的长度并插入适当数量的空格。

='Data tab'!A1&REPT(" ",length!A$1-length!A2)
Run Code Online (Sandbox Code Playgroud)

如果复制并粘贴公式,请注意锁定第 1 行的 $

(编辑)您可以从空间插入选项卡中复制。

记事本

  • 构思巧妙! (2认同)