Почему к эксель после сохранения меняются цвета
Перейти к содержимому

Почему к эксель после сохранения меняются цвета

Почему к эксель после сохранения меняются цвета

Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Сообщения: 94
Благодарности: 0

Правой кнопкой на лист -> Переместить или скопировать -> Переместить выбранные листы в новую книгу -> Создать копию -> OK.
Origina1.xlsx
Copy.xlsx

Сообщения: 16818
Благодарности: 3236

Конфигурация компьютера
Процессор: 11th Gen Intel(R) Core(TM) i7-1165G7
Память: 16 гб
Видеокарта: Intel(R) Iris(R) Xe Graphics
Звук: Realtek High Definition Audio(SST)
Монитор: 15,6″
Ноутбук/нетбук: LENOVO ThinkBook 15 G2 ITL
ОС: Windows 11 — 64 Pro

it3, в Office 2010 такой проблемы нет. В 2013 — есть. На выбранном цвете (тот, который светлее) почему-то не происходит фиксация и меняются параметры RGB. А другой цвет не подойдет?

Сообщения: 5069
Благодарности: 800

различия в цветовых схемах? попробуйте вытянуть цвет из другой книги. Параметры Excel — Сохранение — Цвета.

Сообщения: 94
Благодарности: 0

okshef, Не подойдёт!

Т.е. пришли к тому, что это недоработка Microsoft в 2013 версии?

Последний раз редактировалось okshef, 13-05-2014 в 21:21 .

Сообщения: 16818
Благодарности: 3236

Конфигурация компьютера
Процессор: 11th Gen Intel(R) Core(TM) i7-1165G7
Память: 16 гб
Видеокарта: Intel(R) Iris(R) Xe Graphics
Звук: Realtek High Definition Audio(SST)
Монитор: 15,6″
Ноутбук/нетбук: LENOVO ThinkBook 15 G2 ITL
ОС: Windows 11 — 64 Pro

Похоже на то.

Сообщения: 1
Благодарности: 0

Нашёл решение:
1. Создаём копию листа в новую книгу.
2. Выделяем «всё» (Ctrl+A) на листе, с которого сделали копию.
3. Копируем в буфер (Ctrl+C или «правый клик»+»Копировать»).
4. На первой верхней ячейке на копии листа в новой книге «правый клик» —> «Специальная вставка» —> переключатель на «С исходной темой» —> «Ок».

Почему к эксель после сохранения меняются цвета

Argument ‘Topic id’ is null or empty

Сейчас на форуме

© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru

Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.

ООО «Планета Эксел»
ИНН 7735603520
ОГРН 1147746834949
ИП Павлов Николай Владимирович
ИНН 633015842586
ОГРНИП 310633031600071

Редактируем CSV-файлы, чтобы не сломать данные

Продукты HFLabs в промышленных объемах обрабатывают данные: адреса, ФИО, реквизиты компаний и еще вагон всего. Естественно, тестировщики ежедневно с этими данными имеют дело: обновляют тест-кейсы, изучают результаты очистки. Часто заказчики дают «живую» базу, чтобы тестировщик настроил сервис под нее.

Первое, чему мы учим новых QA — сохранять данные в первозданном виде. Все по заветам: «Не навреди». В статье я расскажу, как аккуратно работать с CSV-файлами в Excel и Open Office. Советы помогут ничего не испортить, сохранить информацию после редактирования и в целом чувствовать себя увереннее.

Материал базовый, профессионалы совершенно точно заскучают.

Что такое CSV-файлы

Формат CSV используют, чтобы хранить таблицы в текстовых файлах. Данные очень часто упаковывают именно в таблицы, поэтому CSV-файлы очень популярны.

CSV-файл состоит из строк с данными и разделителей, которые обозначают границы столбцов

CSV расшифровывается как comma-separated values — «значения, разделенные запятыми». Но пусть название вас не обманет: разделителями столбцов в CSV-файле могут служить и точки с запятой, и знаки табуляции. Это все равно будет CSV-файл.

У CSV куча плюсов перед тем же форматом Excel: текстовые файлы просты как пуговица, открываются быстро, читаются на любом устройстве и в любой среде без дополнительных инструментов.

Из-за своих преимуществ CSV — сверхпопулярный формат обмена данными, хотя ему уже лет 40. CSV используют прикладные промышленные программы, в него выгружают данные из баз.

Одна беда — текстового редактора для работы с CSV мало. Еще ничего, если таблица простая: в первом поле ID одной длины, во втором дата одного формата, а в третьем какой-нибудь адрес. Но когда поля разной длины и их больше трех, начинаются мучения.

Следить за разделителями и столбцами — глаза сломаешь

Еще хуже с анализом данных — попробуй «Блокнотом» хотя бы сложить все числа в столбце. Я уж не говорю о красивых графиках.

Поэтому CSV-файлы анализируют и редактируют в Excel и аналогах: Open Office, LibreOffice и прочих.

Ветеранам, которые все же дочитали: ребята, мы знаем об анализе непосредственно в БД c помощью SQL, знаем о Tableau и Talend Open Studio. Это статья для начинающих, а на базовом уровне и небольшом объеме данных Excel с аналогами хватает.

Как Excel портит данные: из классики

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

Большинство казусов связано с тем, что программа без спроса преобразует строки с набором цифр в числа.

Округляет. Например, в исходной ячейке два телефона хранятся через запятую без пробелов: «5235834,5235835». Что сделает Excel? Лихо превратит номера́ в одно число и округлит до двух цифр после запятой: «5235834,52». Так мы потеряем второй телефон.

Приводит к экспоненциальной форме. Excel заботливо преобразует «123456789012345» в число «1,2E+15». Исходное значение потеряем напрочь.

Проблема актуальна для длинных, символов по пятнадцать, цифровых строк. Например, КЛАДР-кодов (это такой государственный идентификатор адресного объекта: го́рода, у́лицы, до́ма).

Удаляет лидирующие плюсы. Excel считает, что плюс в начале строки с цифрами — совершенно лишний символ. Мол, и так ясно, что число положительное, коль перед ним не стоит минус. Поэтому лидирующий плюс в номере «+74955235834» будет отброшен за ненадобностью — получится «74955235834». (В реальности номер пострадает еще сильнее, но для наглядности обойдусь плюсом).

Потеря плюса критична, например, если данные пойдут в стороннюю систему, а та при импорте жестко проверяет формат.

Разбивает по три цифры. Цифровую строку длиннее трех символов Excel, добрая душа, аккуратно разберет. Например, «8 495 5235834» превратит в «84 955 235 834».

Форматирование важно как минимум для телефонных номеров: пробелы отделяют коды страны и города от остального номера и друг от друга. Excel запросто нарушает правильное членение телефона.

Удаляет лидирующие нули. Строку «00523446» Excel превратит в «523446».
А в ИНН, например, первые две цифры — это код региона. Для Республики Алтай он начинается с нуля — «04». Без нуля смысл номера исказится, а проверку формата ИНН вообще не пройдет.

Меняет даты под локальные настройки. Excel с удовольствием исправит номер дома «1/2» на «01.фев». Потому что Windows подсказал, что в таком виде вам удобнее считывать даты.

Побеждаем порчу данных правильным импортом

Если серьезно, в бедах виноват не Excel целиком, а неочевидный способ импорта данных в программу.

По умолчанию Excel применяет к данным в загруженном CSV-файле тип «General» — общий. Из-за него программа распознает цифровые строки как числа. Такой порядок можно победить, используя встроенный инструмент импорта.

Запускаю встроенный в Excel механизм импорта. В меню это «Data → Get External Data → From Text».

Выбираю CSV-файл с данными, открывается диалог. В диалоге кликаю на тип файла Delimited (с разделителями). Кодировка — та, что в файле, обычно определяется автоматом. Если первая строка файла — шапка, отмечаю «My Data Has Headers».

Перехожу ко второму шагу диалога. Выбираю разделитель полей (обычно это точка с запятой — semicolon). Отключаю «Treat consecutive delimiters as one», а «Text qualifier» выставляю в «». (Text qualifier — это символ начала и конца текста. Если разделитель в CSV — запятая, то text qualifier нужен, чтобы отличать запятые внутри текста от запятых-разделителей.)

На третьем шаге выбираю формат полей, ради него все и затевалось. Для всех столбцов выставляю тип «Text». Кстати, если кликнуть на первую колонку, зажать шифт и кликнуть на последнюю, выделятся сразу все столбцы. Удобно.

Дальше Excel спросит, куда вставлять данные из CSV — можно просто нажать «OK», и данные появятся в открытом листе.

Перед импортом придется создать в Excel новый workbook

Но! Если я планирую добавлять данные в CSV через Excel, придется сделать еще кое-что.

После импорта нужно принудительно привести все-все ячейки на листе к формату «Text». Иначе новые поля приобретут все тот же тип «General».

  • Нажимаю два раза Ctrl+A, Excel выбирает все ячейки на листе;
  • кликаю правой кнопкой мыши;
  • выбираю в контекстном меню «Format Cells»;
  • в открывшемся диалоге выбираю слева тип данных «Text».

Чтобы выделить все ячейки, нужно нажать Ctrl+A два раза. Именно два, это не шутка, попробуйте

После этого, если повезет, Excel оставит исходные данные в покое. Но это не самая твердая гарантия, поэтому мы после сохранения обязательно проверяем файл через текстовый просмотрщик.

Альтернатива: Open Office Calc

Для работы с CSV-файлами я использую именно Calc. Он не то чтобы совсем не считает цифровые данные строками, но хотя бы не применяет к ним переформатирование в соответствии с региональными настройками Windows. Да и импорт попроще.

Конечно, понадобится пакет Open Office (OO). При установке он предложит переназначить на себя файлы MS Office. Не рекомендую: хоть OO достаточно функционален, он не до конца понимает хитрое микрософтовское форматирование документов.

А вот назначить OO программой по умолчанию для CSV-файлов — вполне разумно. Сделать это можно после установки пакета.

Итак, запускаем импорт данных из CSV. После двойного клика на файле Open Office показывает диалог.

Заметьте, в OO не нужно создавать новый воркбук и принудительно запускать импорт, все само

  1. Кодировка — как в файле.
  2. «Разделитель» — точка с запятой. Естественно, если в файле разделителем выступает именно она.
  3. «Разделитель текста» — пустой (все то же, что в Excel).
  4. В разделе «Поля» кликаю в левый-верхний квадрат таблицы, подсвечиваются все колонки. Указываю тип «Текст».

Помимо Calc у нас в HFLabs популярен libreOffice, особенно под «Линуксом». И то, и другое для CSV применяют активнее, чем Excel.

Бонус-трек: проблемы при сохранении из Calc в .xlsx

Если сохраняете данные из Calc в экселевский формат .xlsx, имейте в виду — OO порой необъяснимо и масштабно теряет данные.

Белая пустошь, раскинувшаяся посередине, в оригинальном CSV-файле богато заполнена данными

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

Если что-то потерялись, лечение — пересохранить из CSV в .xlsx. Или, если установлен Windows, импортнуть из CSV в Excel и сохранить оттуда.

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

Если интересно работать с данными, посмотрите на наши вакансии. HFLabs почти всегда нужны аналитики, тестировщики, инженеры по внедрению, разработчики. Данными обеспечим так, что мало не покажется 🙂

  • Блог компании HFLabs
  • Информационная безопасность
  • IT-стандарты
  • Хранение данных
  • Софт

Йоксель

Вот такие цвета в Йокселе не так отображаются в Экселе 2007. Или где можно найти соответствие цветов. Заранее блогадарен. И большое спасибо за продукт. В восьмерке проблемы с сохранением в Эксель при работе на сервере табличных документов. У меня и Эксель отказывается записывать в Windows Server 2008. Ваша разработка очень помогла бы но вот засада с цветами
Процедура Кнопка1Нажатие(Элемент)
Док = ЭтаФорма.ЭлементыФормы.ЭлементЙокселя.GetControl().Документ;
Док.Область ().ШиринаСтолбца (100);
Док.Область ().ВысотаСтроки (100); // Вставить содержимое обработчика. //Цвет=WebЦвета.ЦветМорскойВолныТемный;
сч=1;
Область=Док.Область(сч,1,сч,1);
Область.ЦветФонаRGB (143, 188, 143); //Цвет=WebЦвета.НейтральноЗеленый;
сч=2;
Область=Док.Область(сч,1,сч,1);
Область.ЦветФонаRGB (127, 255, 0);
// WebЦвета.СветлоЗолотистый;
сч=3;
Область=Док.Область(сч,1,сч,1);
Область.ЦветФонаRGB (255, 215, 215); // Цвет = WebЦвета.Голубой;
Сч=4;
Область=Док.Область(сч,1,сч,1);
Область.ЦветФонаRGB (166,202, 240);
Док.ОбновитьВсеОтображения (); ИмяФайла = КаталогВременныхФайлов () + «TempDoc.xls»;
Док.Записать(ИмяФайла,1);
ЗапуститьПриложение (ИмяФайла); КонецПроцедуры

Отправлено 13 года(лет) назад #
Oleg
Администратор

Это потому что Йоксель записывает XLS-файлы со стандартной палитрой для Excel, а 1С записывает XLS-файлы с переопределенной под себя палитрой. Для сравнения выкладываю две палитры: слева Excel, справа 1С. В стандартной Excel-палитре некоторые цвета 1С отсутствуют, поэтому при выгрузке они заменяются наиболее близкими. В использовании стандартных цветов есть плюс — при копировании данных из документа в документ не происходит искажений цветов — как иногда случается с документами 1С. С другой стороны при сохранении некоторые цвета 1С искажаются. В планах стоит сделать возможность выбора используемой палитры (стандартная, 1С или адаптивная под документ), но когда будет — сказать сложно.

Attachments

  1. palettes.png (2.5 KB, 1,165 downloads) 13 года(лет) old

Отправлено 13 года(лет) назад #
Serginio
Участник

Я вобщем готов переделать цвета, но даже при преобразовании из 8 ного табличногПоля в MXL7 цвета меняются. Я загружаю MXL в Йоксель и меняю цвета на RGB которые описаны для вэб мастеров и в 1С устанавливаются в диалоге при выборе цвета. Но вот В Йкселе отображается правильно, а при сохранении в Екселе неправильно. Спасибо за палитру, хоть из нее можно выбрать. Спасибо. Просто засада с сохранением Экселя на сервере, да и долго, а у йокселя подбор цветов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *