从剪贴板粘贴到Excel(纯文本):我可以将某些单元格格式化为“如此”


4

准备表数据作为要通过剪贴板复制到Excel的文本时,是否可以将某些单元格格式化?(如果可能,不更改Excel设置或进行特殊粘贴)。

在一个简单的标准情况下,我有一行“列标题”(文本),其余行包含数字数据

foo bar asdf
1   2   3

现在,问题是有时我得到包含Excel决定格式化为日期(或有时数字)的日期内容的标题。我希望Excel不为那些格式化

当手动将文本输入到单元格时,我可以通过在单元格内容之前添加单引号(')来完成此操作。但是,如果我将以下内容复制到剪贴板并粘贴它:

foo '1  asdf
1   2   3

然后我得到'1到屏幕。我不确定是否有一些解决方案,但如果有人有东西,这将是不错的=)

为什么我这样问:我的上下文是我有一个程序将表数据(作为文本)复制到剪贴板(转换为Excel)。

编辑:一些澄清:

  • 我想做一些让第一行中的单元格不被格式化的东西
    • 澄清了实际的问题
  • 最佳用途是最终用户进行粘贴不需要做任何特殊粘贴
    • 我不确定这是否可行,如果是这种情况我应该找到一些方法以更自定义的方式导出数据,但这是属于stackoverflow.com的另一个故事。

br,Touko

Answers:


3

将表复制到剪贴板后,可以使用Excel 2007/2010中“粘贴菜单”下的“文本导入向导”。如果您使用的是Office 2003或更早版本,则可以从外部文本文件导入表,有关详细信息,请参阅此文章

在文本导入向导的第3步,您可以选择指定列数据格式。选择要更改的列,然后选择适当的格式。

在此输入图像描述


谢谢。这并没有直接回答我的问题,但我编辑了这个问题以澄清一点。
touko 2011年

在我的版本中,文本导入向导隐藏在“ 数据”选项卡项“ 文本”下(并且不在“粘贴”菜单下)。这是Windows XP上的Office 2007。
Evgeni Sergeev 2014年

实际上,在同一“数据”选项卡上的“文本到列”功能对我来说效果更好。有类似的事情,但没有与源文件建立某种连接(这使得事情变得不灵活)。
Evgeni Sergeev 2014年

2

在粘贴数据之前,将标题行的数字格式设置为Text。右键单击行> 单元格格式 > 数字 >选择文本。无论您粘贴到单元格中的值是什么,都将转换为字符串。

现在,如果您需要使用标题进行计算,请使用VALUE公式。

例:

  • 如果粘贴12/23/2011在单元格 B1中,即使之后更改其数字格式,它也会显示为“12/23/2011”。

    公式VALUE(B1)将返回12/23/2011的实际日期值(十进制为40900)。

  • 如果粘贴234在单元格B1中,即使您之后更改其数字格式,它也会显示为“234”。

    公式VALUE(B1)将返回小数234。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.