Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как перенести данные в csv формат? Сейчас кракозябры - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Как перенести данные в csv формат? Сейчас кракозябры
regnus Дата: Четверг, 10.09.2015, 09:02 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 34
Репутация: 0 ±
Замечаний: 40% ±

Excel 2010
Как перенести данные в csv формат?
Сейчас или обрезает данные в ячейках или сохраняет кракозябрами.
Нужно:
разделитель строк- точка с запятой (;) Кодировка- window1251
К сообщению приложен файл: 3529338.xlsx (20.3 Kb)
 
Ответить
СообщениеКак перенести данные в csv формат?
Сейчас или обрезает данные в ячейках или сохраняет кракозябрами.
Нужно:
разделитель строк- точка с запятой (;) Кодировка- window1251

Автор - regnus
Дата добавления - 10.09.2015 в 09:02
Karataev Дата: Четверг, 10.09.2015, 12:26 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 1336
Репутация: 533 ±
Замечаний: 0% ±

Excel
Сделайте следующие действия
1) с помощью "Найти и заменить" удалите все символы "Переход на следующую строку". Для этго в поле "Найти" введите сочетание клавиш Ctrl + J, а в поле "Найти" ничего не вводите
2) затем (после удаление символов) выделите столбец A и перейдите на вкладку Данные - Текст по столбцам - радиокнопка "с разделителями" - Далее - оставьте только флажок "другой" и впишите вертикальную черту
3) если в файле только текст (нет чисел и дат), то просто щелкните Готово
4) текст будет разбит на столбцы, теперь Сохраните как, выбрав формат CSV (разделители - запятые) (*.csv). Вместо запятых будут вставлены точка с запятой (потому что это зависит от региональных настроек Windows)

Будет получен csv-файл с разделителем ";".
Что касается кодировки, то кодировку выбрать нельзя, но может быть вам подойдет то, что получится.
 
Ответить
СообщениеСделайте следующие действия
1) с помощью "Найти и заменить" удалите все символы "Переход на следующую строку". Для этго в поле "Найти" введите сочетание клавиш Ctrl + J, а в поле "Найти" ничего не вводите
2) затем (после удаление символов) выделите столбец A и перейдите на вкладку Данные - Текст по столбцам - радиокнопка "с разделителями" - Далее - оставьте только флажок "другой" и впишите вертикальную черту
3) если в файле только текст (нет чисел и дат), то просто щелкните Готово
4) текст будет разбит на столбцы, теперь Сохраните как, выбрав формат CSV (разделители - запятые) (*.csv). Вместо запятых будут вставлены точка с запятой (потому что это зависит от региональных настроек Windows)

Будет получен csv-файл с разделителем ";".
Что касается кодировки, то кодировку выбрать нельзя, но может быть вам подойдет то, что получится.

Автор - Karataev
Дата добавления - 10.09.2015 в 12:26
SLAVICK Дата: Четверг, 10.09.2015, 12:49 | Сообщение № 3
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Вот:
[vba]
Код
Sub txt_write()
Dim i#, ii#, s$, n&, m As Variant, Filename$
m = Selection.Value

Filename$ = InputBox("Полное имя файла", "Имя для сохранения", ActiveWorkbook.Path & "\file.csv")

n = FreeFile()
     Open Filename For Output As #n
        For i = 1 To UBound(m)
        s = m(i, 1)
            For ii = 2 To UBound(m, 2)
                s = s & vbTab & m(i, ii)
            Next
            s = s & ";"
            Print #n, s '
                        If i Mod 10000 = 0 Then
                        DoEvents                             ' передача управления другим процессам
                        Application.StatusBar = Format(i / UBound(m), "0%") & ". " & i & " из " & UBound(m)
                        End If
        Next
Close #n
Application.StatusBar = False
End Sub
[/vba]

Сохраняет CSV c разделителем строк ";"
Правда в самом файле Будет куча лишних строк - это потому, что в тексте имеется символ переноса строки :o
К сообщению приложен файл: 3529338-1-.xlsm (28.1 Kb)


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Четверг, 10.09.2015, 13:05
 
Ответить
СообщениеВот:
[vba]
Код
Sub txt_write()
Dim i#, ii#, s$, n&, m As Variant, Filename$
m = Selection.Value

Filename$ = InputBox("Полное имя файла", "Имя для сохранения", ActiveWorkbook.Path & "\file.csv")

n = FreeFile()
     Open Filename For Output As #n
        For i = 1 To UBound(m)
        s = m(i, 1)
            For ii = 2 To UBound(m, 2)
                s = s & vbTab & m(i, ii)
            Next
            s = s & ";"
            Print #n, s '
                        If i Mod 10000 = 0 Then
                        DoEvents                             ' передача управления другим процессам
                        Application.StatusBar = Format(i / UBound(m), "0%") & ". " & i & " из " & UBound(m)
                        End If
        Next
Close #n
Application.StatusBar = False
End Sub
[/vba]

Сохраняет CSV c разделителем строк ";"
Правда в самом файле Будет куча лишних строк - это потому, что в тексте имеется символ переноса строки :o

Автор - SLAVICK
Дата добавления - 10.09.2015 в 12:49
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!