12

У меня есть загрузка данных в CSV-файл, который я импортирую в Excel, большинство из них в порядке, но один из моих столбцов содержит до 1000 символов данных. К сожалению, Excel взял на себя задачу предположить, что это больше данных, чем мне нужно, и, похоже, сокращает их (до 255 символов).

Как я могу увеличить этот лимит и сохранить все мои данные?

7 ответов7

13

В Excel есть странная ошибка. Я объясню здесь, как избежать (не исправить, просто избежать) этого, и, возможно, это скоро исправят программисты MS Office. Возможно, это даже было исправлено в Excel 2013, я еще не открывал его.

Итак, это проблема.

Максимальная длина текстовой ячейки - 32767, и это нормально.

Максимальная длина числовой ячейки составляет 255, и это нормально.

Но если у вас есть ячейка, которая вызывает парсер чисел, дает сбой, а затем вызывает парсер текста, здесь будет большой беспорядок.

Например:

...,"This is a cell with 30,000 characters........",...

буду работать.

Но если вы положите небольшой минус в начале, как в

...,"-This is a cell with 30,000 characters........",...

вы увидите только 255 первых текстовых символов, потому что EXCEL считает, что это отрицательное число.

Надеюсь, поможет.

1

Я столкнулся с этой проблемой с CSV-файлом, который имел несколько длинных текстовых полей, которые иногда начинались с тире. Похоже, что импорт Excel пытается обработать поле как число из-за тире, а импорт числа обрезает его до 255 символов. Когда это не удается, он импортирует его как текст, но только первые 255 символов.

Чтобы избежать проблемы, мне пришлось импортировать CSV, а не просто открывать его. В мастере импорта я выбрал столбец, в котором возникли проблемы, и переключил его тип с общего на текстовый. Тогда Excel даже не попытается разобрать его как число, и я получу полную ширину столбца.

0

Как правило, это старое ограничение, которое больше не применяется к современным версиям Excel (2013 в любом случае). Однако, если рабочая книга была первоначально создана в более старой версии, объекты ячеек, которые были изменены (то есть созданы с определенными свойствами и атрибутами) в более старой версии, по-видимому, сохранят ограничение в 255 символов даже при открытии в новых версиях Excel!

Исправление:

  1. Используя современную версию Excel, в другой неиспользуемой ячейке на рабочем листе воссоздайте все условия форматирования и / или условия объединенного диапазона, необходимые для проблемной ячейки.
  2. Убедитесь, что он установлен в общий или текстовый формат.
  3. Вырежьте или скопируйте и вставьте новую воссозданную версию ячейки (или объединенный диапазон) и вставьте ее поверх старой, поврежденной версии.
  4. Теперь при вводе данных в ячейку проблема больше не должна проявляться.

Как впоследствии опубликовал WebweaverD, он нашел решение своей проблемы импорта csv. Кроме того, если ячейки заполняются через VBA, ситуация усложняется, как упоминалось в других ответах. Но если данные вводятся вручную или копируются / вставляются из другого приложения в устаревшую рабочую книгу, проблема может быть вызвана этой проблемой атрибута ячейки прежних версий.

0

У меня была похожая проблема, все мои значения были в формате (чтобы можно было конвертировать числа в числа, текст в текст, но он был обрезан длинными текстами:

...,="Long Text........",...

если вы поставите = в начале, вы увидите только 255 первых текстовых символов, потому что EXCEL считает, что это число, поэтому удалите = при запуске.

Надеюсь, поможет.

0

Обходные пути (доступно в Excel 2016)...

Вариант А. Получите Excel для запуска через мастер импорта текста (используя что-то вроде расширения файла .txt или расширения .xls, примите предупреждение, выберите первый столбец и выполните Data => 'Text to Columns'). Затем измените тип столбца с «Общий» на «Текст» в конце мастера.

Вариант Б. Используйте Get & Transform. Данные => Новый запрос => Из файла => Из CSV.

0

Согласно http://office.microsoft.com/en-us/excel-help/excel-specifications-and-limits-HP010342495.aspx, Excel 2010 поддерживает только ширину столбца 255 символов.

Изменить: это проблема, о которой вы говорите, веб-ткач? Делает ли Format> Cells> Wrap Text остальные символы видимыми?

Изменить: не берите в голову, этот ответ несколько не связан с проблемой (возможно, как-то связаны, но он не отвечает на вопрос)

0

Во-первых, спасибо всем за помощь в решении этой проблемы. Оказывается, Excel может с радостью вместить в ячейку более 255 символов (предположительно, до 32 767, как уже упоминалось ранее, если у вас есть баран для этого).

Так почему же не работа?

Краткий ответ: я не уверен. Когда я впервые вывел данные в Excel, я экспортировал их в формате CSV, а затем открыл в Excel. Это сократило столбцы (в 255). (Файл CSV содержал все данные при просмотре через блокнот, но не при повторном сохранении через Excel).

Столбец, о котором идет речь, содержал несколько точек с запятой, но это не соответствовало точке отсечения (всегда 255), и я не использовал; в качестве разделителя.

Мое решение было сделать экспорт в виде файла XLS. С тех пор он был успешно сохранен как CSV-файл с полными данными.

Надеюсь, это кому-нибудь поможет, хотя я до сих пор не уверен, в чем именно проблема.

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