Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将带有换行符的txt文件导入Excel_Excel_Vba - Fatal编程技术网

将带有换行符的txt文件导入Excel

将带有换行符的txt文件导入Excel,excel,vba,Excel,Vba,在导出到Excel的过程中,我发现了以下问题 如果创建一个表格,其中一个单元格有换行符,并将文档另存为txt文件,则该表格如下所示: "firstLine<LF>secondLine"<TAB>"secondColoumn" “firstLinesecondLine”“secondColoumn” 当我在Excel中打开此文件时,换行符消失,第一行只有一个值为firstLine的单元格 你知道是否有可能保持线路中断吗 编辑:适用于Excel2010。不知道其他版本是否

在导出到Excel的过程中,我发现了以下问题

如果创建一个表格,其中一个单元格有换行符,并将文档另存为txt文件,则该表格如下所示:

"firstLine<LF>secondLine"<TAB>"secondColoumn"
“firstLinesecondLine”“secondColoumn”
当我在Excel中打开此文件时,换行符消失,第一行只有一个值为firstLine的单元格

你知道是否有可能保持线路中断吗

编辑:适用于Excel2010。不知道其他版本是否表现不同

EDIT2:复制的步骤:

  • 打开空白excel工作表
  • 输入文本(第一列带换行符,第二列不重要)
  • 另存为Unicode文本(txt)//所有其他txt都不起作用
  • 关闭Excel文件
  • 文件->打开
  • 在即将到来的对话框中没有更改

  • excel文件现在有两行,这是错误的。

    从预期行为的意义上讲,这不是问题,当您将文本保存为
    Unicode
    文本(制表符分隔)

    如果将文件保存为unicode,然后

  • 在记事本中打开它
  • 将其导入Excel
  • 您将看到带有换行符的单元格被“”包围

    下面的示例显示了两个换行符

    • A1
      有一个使用Alt+Enter分隔的条目
    • B1
      使用公式
      CHAR(10)
    此图还显示了记事本在保存的
    Unicode
    版本上看到的内容

    建议的解决方法1-手动方法

  • 在Excel中,选择编辑>替换

  • 在“查找内容”框中单击

  • 按住Alt键,然后(在数字键盘上)键入0010

  • 替换为双管道分隔符

  • 另存为Unicode

  • 然后在需要重新插入换行符时反转此过程

  • 这可以在VBA中轻松完成

    建议的解决方案2-VBA备选方案

    Const strDelim = "||"
    
    Sub LBtoPIPE()
    ActiveSheet.UsedRange.Replace Chr(10), strDelim, xlPart
    ActiveSheet.UsedRange.Replace "CHAR(10)", strDelim, xlPart
    End Sub
    
    Sub PIPEtoLB()
    ActiveSheet.UsedRange.Replace strDelim, Chr(10), xlPart
    ActiveSheet.UsedRange.Replace strDelim, "CHAR(10)", xlPart
    End Sub
    

    我终于解决了这个问题!耶:D

    CSV:

    德语Excel需要分号作为分隔符。逗号不起作用

    注意:只有当文件编码为UTF-8且BOM位于文件开头时,才是如此。如果它是ASCII编码的,逗号可以用作分隔符

    TXT:

    编码必须是UTF-16LE。它还需要用制表符分隔

    重要提示:
    如果您使用“文件->打开”对话框打开文件并“导入”它们,文件仍将显示不正确。将它们拖动到Excel或双击works打开。

    我正在尝试复制您的步骤。您在哪里创建表?在Excel中?您将它保存为什么类型-文本(制表符delim)、MS-DOS文本、Unicode文本或其他类型?你是如何“打开”文件的?导入它,拖放到Excel中,或转到
    文件>打开
    ?然后按
    Alt+Enter
    以获取换行符,对吗?这是正确的。换行符将保存为换行符,如上所示。感谢您的回答。不幸的是,我无法解决问题。我希望这是一个Excel错误或是我这边的一些错误设置。在我看来,这种行为是错误的。如果我保存了一个带有换行符的文件,那么在加载时它们应该仍然存在:/@T3rm1没有问题。我很好奇为什么您不能部署解决方案?这两种方法都要求用户在您通常认为“应该可以正常工作”的地方执行某些操作。但是,这将导致Excel放弃不包含任何非数字字符的单元格中的任何前导零。