从Excel导出到文本文件,不带换行符

从Excel导出到文本文件,不带换行符,excel,text,csv,line-breaks,Excel,Text,Csv,Line Breaks,我有一个只有一列的常规Excel电子表格。我想将其导出到带有分隔符的文本文件中。我对分隔列不感兴趣,因为我只有一个列。我关心的是使用分隔符而不是换行符导出,这样我的最终结果就是一个简单的列表,如“item1”、“item2”、“item3”。。。等等item1、item2和item3在我的Excel文件中位于同一列的不同行中。是否可以直接从Excel执行此操作?我只能得到带有换行符的最终文件。谢谢 您需要使用“VBA”循环该列中的单元格,并将其内容打印到文件中。如果您不需要VBA解决方案,并且最

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

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

如果您不需要VBA解决方案,并且最多使用256行,则可以复制使用过的单元格,并将其转置粘贴到A1中的其他工作表中

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


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

您可能希望使用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,,"|")

进一步信息:

如果你想快速而不雅观,只需使用右边的单元格与分隔(比如分号)连接即可。假设您的数据以A2开头,请将其放在B2中:

=A1
把这个放在B3里,填上:

=B2&";"&A3
所需的文本位于B列的底部单元格中