【问题标题】:Export from Excel to text file without line breaks从 Excel 导出到没有换行符的文本文件
【发布时间】:2009-10-27 22:05:04
【问题描述】:

我有一个只有 1 列的常规 Excel 电子表格。我想将其导出到带有分隔符的文本文件。我对分隔列不感兴趣,因为我只有一个。我关心的是用分隔符而不是换行符导出,这样我的最终结果就是一个简单的列表,比如“item1”、“item2”、“item3”……等等。 item1、item2 和 item3 在我的 Excel 文件中的同一列中的不同行中。是否可以直接从 Excel 执行此操作?我只能得到带有换行符的最终文件。谢谢!

【问题讨论】:

    标签: excel text csv line-breaks


    【解决方案1】:

    您需要使用“VBA”循环遍历该列中的单元格并将其内容打印到文件中。

    【讨论】:

      【解决方案2】:

      如果您想快速而不优雅,只需使用右侧的单元格连接分隔符(例如,分号)。假设您的数据从 A2 开始,将其放入 B2:

      =A1
      

      然后把这个放在B3中并填写:

      =B2&";"&A3
      

      你想要的文字在B列的底部单元格中。

      【讨论】:

        【解决方案3】:

        您可能希望使用 ADO 和 GetString。

        Dim cn As Object
        Dim rs As Object
        
        strFile = Workbooks(1).FullName
        strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFile _
            & ";Extended Properties=""Excel 8.0;HDR=No;IMEX=1"";"
        
        Set cn = CreateObject("ADODB.Connection")
        Set rs = CreateObject("ADODB.Recordset")
        
        cn.Open strCon
        
        strSQL = "SELECT F1 FROM [Sheet1$]"
        
        rs.Open strSQL, cn
        
        str = rs.GetString(2,,"|")
        

        更多信息:http://www.w3schools.com/ADO/met_rs_getstring.asp

        【讨论】:

          【解决方案4】:

          如果您不想要 vba 解决方案并使用 max. 256 行,您可以复制使用过的单元格并将它们转置到 A1 中的不同工作表中。

          现在所有值都在一行中,您可以将工作表导出/保存为 *.csv。单元格值将用分号分隔,但不会被引用!您的文本编辑器应该能够将; 替换为" ;"

          VBA 循环是更好的解决方案。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2010-09-25
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-02-26
            相关资源
            最近更新 更多