Как сохранить начальные нули в формате файла Excel

Я пытался использовать форматы csv и txt, но каждый из них создает свою проблему.

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

В формате txt единственный способ сохранить начальные нули — это импортировать txt-файл в Excel и продиктовать, чтобы каждый столбец, содержащий числа, преобразовывался в текстовые ячейки. Поскольку клиент может открыть этот файл, эти инструкции слишком сложны, чтобы полагаться на то, что клиент не испортит их.

В основном мне нужен формат файла или способ редактирования csv, который позволяет поддерживать начальные нули при открытии в Excel, но также редактируется без потери целостности числа и не показывает никаких специальных символов при редактировании клетка. Пожалуйста, дайте мне знать о любых областях, которые нуждаются в разъяснении, поскольку это странная специфическая проблема.


person bnoos    schedule 03.04.2018    source источник
comment
Я думаю, вам нужно использовать более сложный формат файла электронной таблицы, который поддерживает форматирование данных, например XLSX или XLS. Вы цитируете значения в своем CSV? Это может помочь, если вы еще этого не делаете.   -  person JamesFaix    schedule 03.04.2018
comment
Да, я цитирую их, но потом, когда я редактирую их в Excel, он показывает кавычки. И если клиент случайно удалит один, это может все испортить. Проблема с XLSX и XLS заключается в том, что у нас есть инфраструктура, которая требует серьезной переработки для редактирования этого формата файла. В основном то, что я ищу, - это формат файла, в котором я могу редактировать необработанный текст таким образом, чтобы он поддерживал начальные нули без кавычек или вкладок.   -  person bnoos    schedule 03.04.2018
comment
Почему бы не отформатировать числа после их импорта? Выделите ячейку/диапазон для форматирования, щелкните правой кнопкой мыши и выберите «Форматировать ячейки». В числовом формате выберите элемент «Пользовательский» в нижней части списка, затем в области ввода «Тип» введите 000000000. Это отформатирует любое число с ведущими нулями.   -  person PeterT    schedule 03.04.2018
comment
Это проблема. Конечный пользователь открывает его, и я не могу передать им какой-либо процесс. Это решение, которое я пытался найти.   -  person bnoos    schedule 04.04.2018


Ответы (1)


Поскольку вы импортируете текст или CSV, я предполагаю, что вы используете инструмент «получить данные из текста». Способ сохранить начальные нули состоит в том, чтобы установить для импортируемого поля значение «текст», а не «общее» на шаге 3 импорта.

Если вам нужно добавить ведущие нули обратно к указанной длине, вы также можете использовать Right(Concatenate("00...00",text cell),desired length of field).

person Chaosbydesign    schedule 03.04.2018
comment
Это сработало бы, если бы я мог добавить что-то в CSV. Решение должно быть получено из необработанного файла, такого как файл csv или txt. На данный момент лучшим решением является выбор текста для поля с ведущими нулями, но в идеале после открытия файла взаимодействия не будет. - person bnoos; 04.04.2018
comment
к сожалению, с файлами CSV и TXT невозможно сохранить какое-либо форматирование, если файл редактируется непосредственно в текстовом редакторе. Вы можете написать сценарий VBA для загрузки и исправления файлов, а затем экспортировать их обратно в текстовый формат, но сохранение какого-либо форматирования полей в текстовом файле невозможно. - person Chaosbydesign; 05.04.2018