Я должен работать с данными, экспортированными из SQL Server как CSV. Файл CSV содержит встроенные символы перевода строки, например:

Jane Doe, 123 Main Street{LF}Apt B, Anytown, NY, 10010{CR}{LF}

Когда файл импортируется в Excel, Excel создает новую строку при обнаружении перевода строки:

Jane Doe|123 Main Street Apt B|Anytown|NY|10010

так что "Apt B" теперь находится в поле "Name" строки и т. д. и т. д.

Есть ли страница настроек для импорта, где я могу сказать Excel, что конец записи - {CR}{LF} не {LF}?

1 ответ1

0

В зависимости от версии Excel вы можете использовать

  • в Excel 2016 функция Get & Transform
  • или ранее (Excel 2010/2013) - тот же инструмент, что и в бесплатной надстройке MS под названием Power Query (Excel 2010/2013)

Импорт CSV-файла (или прямого подключения к множеству различных источников, таких как SQL Server) очень удобен, особенно если вы хотите преобразовать свои данные после этапа импорта.

Я попробовал пример, как указано выше, и не было проблем с переводом строки. Здесь код после импорта с пользовательским интерфейсом. Это описано на сайте поддержки MS

let
    Source = Csv.Document(File.Contents("C:\YourFile.csv"),[Delimiter=",", Columns=5, Encoding=1252]),
    ChangeType = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"Column2", type text}, {"Column3", type text}, {"Column4", type text}, {"Column5", type text}}),
    ReplaceLFcol2 = Table.ReplaceValue(ChangeType,"{LF}"," ",Replacer.ReplaceText,{"Column2"})
in
    ReplaceLFcol2 

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .