Як змусити Excel відкривати файли CSV з даними, розташованими в стовпцях


32

Я генерую файл CSV з розширенням .csv, в якому кожен фрагмент даних в одному рядку розділений комою:

1,2,3,4
1,2,3,4

Файл надсилається електронною поштою, і я хочу, щоб, коли клієнт відкриває його, вона бачить дані, розташовані в стовпці.

Чи таке можливо?

PS: Я можу вільно змінювати деліметр.


1
Що стосується мене, ви не можете зробити нічого, крім імпорту даних в Excel, оскільки Excel не може робити жодних припущень щодо структури самих даних (наприклад, використовуваний роздільник, формат десяткових знаків або загальний формат даних).
slhck

@slhck, будь ласка, подивіться на відповідь
Тимофей

О, я не знав, що Excel здатний на це. Хороший.
slhck

1
Всього лише двічі клацніть файл CSV, відкриється Excel і файл буде відображено правильно. Я прав?
Вілсон

@wilson: Excel повинен бути пов’язаний з відкриттям файлів .csv, після чого двічі натисніть на .csv файл Excel буде запущено
Тимофей

Відповіді:


10

Використовуйте вкладку замість коми. І якщо це не працює, дайте вашому файлу з обмеженими вкладками розширення xls.


дякую за рішення, я залишив .csv як розширення файлу
Тимофей

не працює для excel 14.7.1 на mac (2017)
masukomi

3
"PS: Я можу вільно змінювати деліметр". робить цю відповідь менш справедливою
Пол Фіджма

Це не відповість, як завантажити файл CSV, оскільки C означає кому.
JBernardo

@JBernardo Це колись було, але сьогодні ви знайдете файли з розширеннями csv в природі з усіма різними роздільниками: вкладка, труба, кома, тире, @, \ 0 тощо. Правильно чи неправильно, вони там , і частина запитання, що говорить "Я можу змінити обмежувачі", робить цю відповідь дійсною.
Joel Coehoorn

43

якщо ви хочете csv читати в кожній системі, є недокументований трюк: у першому рядку напишіть SEP=;. Цей рядок повідомляє EXCEL, який символ використовувати як роздільник (адже ви можете використовувати будь-який (один) символ ( ;,|@#'...))

ПРИМІТКА. Цей рядок є лише частиною самого csvфайлу. Він не стане частиною електронної таблиці в EXCEL. це означає, що він не відображатиметься і не буде записаний, незалежно від того, який формат ви визначаєте для запису чи експорту.


Це було рятування життя! Тут працювали чудово!
Етьєн Дюпуа

найкраще рішення IMHO, як це має працювати з усіма мовами
mBardos

39

Поведінка Excel при відкритті файлів CSV сильно залежить від ваших локальних налаштувань та використовуваних list separatorв Region and language » Formats » Advanced. За замовчуванням Excel передбачає, що кожен CSV був збережений за допомогою цього роздільника. Що вірно, доки CSV не приїжджає з іншої країни!

Якщо ваші клієнти перебувають в інших країнах, вони можуть побачити інші результати, тоді ви думаєте.

Наприклад, тут ви бачите, що німецький Excel використовуватиме крапку з комою замість коми, як у США введіть тут опис зображення

Щоб вас ще більше заплутало, це налаштування перешкоджає десятковому символу, який можна окремо встановити під Excel Options » Advanced » Use system separatorsрегіональними налаштуваннями, як показано вище. Excel не може використовувати той самий символ, що і десяткові вкладки та роздільник списку. Він автоматично використовувати коску або крапку з комою як роздільник резервного копіювання. Детальніше

Я візьму ваш приклад, щоб створити 3 файли. Кожен має інший роздільник і відкрийте його за допомогою Excel.

    COMMA               SEMICOLON                     TAB 

введіть тут опис зображеннявведіть тут опис зображеннявведіть тут опис зображення

Не те саме, що робить ваш Excel? Я так думав.

Тож давайте вручну змінити розширення з тих самих CSV-файлів на XLS і подивитися, що відбувається зараз. По-перше, Excel видасть попередження про те, що розширення файлу не відповідає вмісту, і Excel намагається вгадати, що знаходиться всередині.

    COMMA        SEMICOLON                   TAB 

введіть тут опис зображеннявведіть тут опис зображеннявведіть тут опис зображення

Висновок: TAB + перейменування + попередження про ігнорування = Виграти в кожній системі?
Можливо, але я не був би таким впевненим у клієнтах за межами своєї країни.

Найкращий спосіб - доручити своїм клієнтам спочатку відкрити порожній Excel, а потім перейти до Data » Get data from textта вручну вибрати косу як роздільник


2
Ця відповідь чудова, але я вважаю це жалюгідним від Microsoft. Ви відкриваєте csv у Numbers, і він відкривається правильно. Ви відкриваєте його на аркушах Google, і він відкривається правильно. Потім ви відкриваєте його в Excel, який є єдиним, за який ви платите, і ... Нічого. Що з нами, хто ніколи не встановлював роздільник списку? Тепер мені потрібно витрачати час, намагаючись змусити його працювати, оскільки "коми" нічого не означають у цьому "csv". Дуже засмучує.
Торкніться

> Це рішення працює для мене (excel 2013). Я регулюю свій регіональний формат: я встановлюю крапку (.) Як "десятковий роздільник", кома (,) як "роздільник тисяч", а кома (,) як "роздільник списку" - cesargastonec 13 липня 15 в 16: 05
Alex78191

Або ви можете змінити десятковий роздільник у параметрах Excel superuser.com/a/1470373
Alex78191

1

Ви можете замінити ".csv" на ".txt", запустити Excel та відкрити .txt файл. Тоді Excel покаже вам помічника, де ви можете вказати використовувати "," як сепаратор. Коли ви знову збережете цей файл у форматі .csv, наступного разу Excel відкриє його так, як вам потрібно.


0

Іншим рішенням, яке я використовував у цій ситуації, було виведення базового HTML-файла, а не CSV. Excel може відкрити це без помилки. Він також може прочитати принаймні частину форматування у файлі.


0

Це найглуміша відповідь коли-небудь, але вона спрацювала. Я щодня використовую файли CSV. Я створюю їх увесь час і переглядаю за допомогою excel. Сьогодні, після 12 років, коли я ніколи не бачив цієї проблеми, це сталося зі мною. Він не відкриє файл csv і не форматує стовпці. Навіть деякі файли csv, які я створив минулої ночі за допомогою excel, відкривалися б у один стовпчик у рядку.

Рішення: Перевірте диспетчер завдань на всі відкриті екземпляри Excel.exe. Вбийте всі екземпляри та спробуйте відкрити файл csv ще раз.

обличчя


0

За короткий термін, якщо вам потрібно лише відкрити файл CSV, надісланий вам з іншої країни -

Відкрийте файл у текстовій панелі та скористайтеся функцією пошуку та заміни, щоб змінити кожен роздільник, який використовувала країна-видавець (наприклад;;) та замініть комою. (наприклад,).

Просто перевірте, чи країна-видавець не використовує кому замість іншого символу (наприклад, в Іспанії вони використовують кому, де ми використовуємо десяткове місце, тож вам доведеться знайти і замінити косу на десяткове місце, потім знайдіть і замініть інший символ з комою).

Не довгострокове рішення, але досить добре, щоб зробити сам файл читабельним, якщо ви поспішаєте і не можете отримати доступ до панелі управління на роботі.


0

Я підійшов до того ж питання. У мене був файл CSV, що Excel неправильно розбирав і потрібен майстер імпорту.

Просте виправлення полягало в тому, щоб перейменувати CSV у TXT, і Майстер допоміг правильно розпізнати структуру стовпців.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.