Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Как правильно преобразовать .xlsx в .csv в кодировке UTF-8

295  
Десантник прохожий14.01.16 15:17
Десантник
14.01.16 15:17 

Ребята, подскажите, кто знает, как правильно преобразовать файл .xlsx в .csv с кодировкой UTF-8
Файл нужен для импорта товаров в магазин на Strato.
Винда русская. В Excell все умляуты отображаются нормально.
При сохранении в формате .csv умляюты превращаются в вопросики.
Пробовал такой вариант: открывал файл .xlsx в OpenOffice, выбирал сохранить в кодировке UTF-8.
Результат такой же. Как победить?

#1 
NightWatch коренной житель14.01.16 17:07
NightWatch
NEW 14.01.16 17:07 
в ответ Десантник 14.01.16 15:17

В Excel есть опция сохранять как текстовый файл в юникоде. Результат открываешь Notepad++ и меняешь кодировку на UTF-8 w/o BOM.

Разделитель (у меня по крайней мере) там tabstop, но я думаю это не проблема.

#2 
Десантник прохожий14.01.16 17:43
Десантник
NEW 14.01.16 17:43 
в ответ NightWatch 14.01.16 17:07

1. Сделал по этому варианту
Сохранил как текстовый файл в юникоде. Открыл в ноутпад и поменял кодировку. Затем открываю в эксель - умляуты отображаются кракозябрами.
Если переименовать расширение файла в csv - содержание всех столбиков сливается построчно без пробелов


2. Еще по одному варианту сделал.
Сохранил как текстовый файл в юникоде. Открываю в эксель - умляуты отображаются вопросиками.
Если переименовать расширение текстового файла в csv - внешне всё отображается правильно.
Но Strato не принимает файл. Ошибку выдает:
Die angegebene Datei wurde nicht importiert da es keine Textdatei ist.
Stellen Sie sicher, dass die Importdatei das angegebene Trennzeichen
verwendet.

#3 
NightWatch коренной житель14.01.16 18:12
NightWatch
NEW 14.01.16 18:12 
в ответ Десантник 14.01.16 17:43
Затем открываю в эксель - умляуты отображаются кракозябрами.

Зачем снова в Excel открывать? Чтобы увидеть данные в Excel корректно, файл нужно не просто открывать, а импортировать.

Stellen Sie sicher, dass die Importdatei das angegebene Trennzeichen verwendet.

А что у Strato нет настройки использовать собственный разделитель? Если в данных нет tabstop, то просто замени все tabstop на semicolon. Если есть, то сложнее. В этом случае я бы импортировал сначала в MySQL таблицу с tabstop-разделителем, а потом выгрузил с semicolon.

#4 
Pyton0 постоялец17.01.16 13:07
Pyton0
NEW 17.01.16 13:07 
в ответ Десантник 14.01.16 15:17

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

#5 
Десантник прохожий20.01.16 15:38
Десантник
NEW 20.01.16 15:38 
в ответ NightWatch 14.01.16 18:12

NightWatch, спасибо, всё работает. Редактирую в Excell, а сохраняю в текстовом документе. При импорте есть возможность выбрать разделитель.

Я просто думал, что в таком же формате (csv) как я экспортировал со strato, и нужно обратно импортировать отредактированный файл. А нужно в текстовом.

#6