Экспорт из Excel в текстовый файл без разрывов строк - PullRequest
0 голосов
/ 28 октября 2009

У меня есть обычная электронная таблица Excel с одним столбцом. Я хочу экспортировать его в текстовый файл с разделителем. Я не заинтересован в разделении столбцов, так как у меня есть только один. Моя задача - экспортировать с разделителями вместо разрывов строк, чтобы мой конечный результат был простым списком, таким как "item1", "item2", "item3" ... и так далее. item1, item2 и item3 были в одном столбце, в разных строках в моем файле Excel. Можно ли сделать это прямо из Excel? Я могу получить только окончательный файл с переносами строк. Спасибо!

Ответы [ 4 ]

1 голос
/ 02 марта 2010

Если вы хотите быть быстрым и не элегантным, просто используйте ячейки справа, чтобы объединить с разделением (например, точка с запятой). Предполагая, что ваши данные начинаются с A2, поместите это в B2:

=A1

И поместите это в B3 и заполните:

=B2&";"&A3

Текст, который вы хотите, находится в нижней ячейке столбца B.

1 голос
/ 28 октября 2009

Вам нужно будет использовать «VBA», чтобы зациклить ячейки в этом столбце и напечатать их содержимое в файл.

0 голосов
/ 28 октября 2009

Вы можете использовать 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

0 голосов
/ 28 октября 2009

Если вы не хотите решение VBA и использовать макс. В 256 строках вы можете скопировать использованные ячейки и вставить их транспонированными на другой лист в A1.

Теперь все значения находятся в строке, и вы можете экспортировать / сохранить лист как * .csv. Значения ячеек будут разделены точкой с запятой, но не будет заключен в кавычки! Ваш текстовый редактор должен заменить ; на " ;".

Цикл VBA - лучшее решение.

...