从Excel导出到文本文件,没有换行符

时间:2009-10-27 22:05:05

标签: excel text csv line-breaks

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

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

如果你想要快速和不优雅,只需使用右边的细胞与分离连接(分叉,比方说)。假设您的数据在A2中开始,请将其放入B2:

=A1

把它放在B3中并填写:

=B2&";"&A3

您想要的文本位于B列的底部单元格中。

答案 2 :(得分:0)

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

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

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

答案 3 :(得分:0)

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