Получение ненужных символов, таких как «_x000D_» или «x000D» в PHPExcel
Я использую PHPExcel для чтения и хранения данных из Excel, но каждый раз, когда я читаю строку из файла Excel для вставки в базу данных, _x000D_ или x000D добавляется к столбцу заголовка.
Пример: при вставке, заголовок — ‘Демо’, а после повторного чтения из базы данных, он преобразуется в ‘Демо_X00D_’ или ‘Демо X00D’.
Поделиться Источник 19 сентября 2017 в 09:00
1 ответ
Сегодня я наткнулся на это и использую это для преобразования этих последовательностей экранирования в html-сущности:
preg_replace('/_x([0-9a-fA-F])_/', '$1;', $string);
Который изменяет _x000D_ на
Вы можете сделать это на шаг вперед, чтобы отобразить фактический символ (который в данном случае является возвратом каретки)
html_entity_decode(preg_replace('/_x([0-9a-fA-F])_/', '$1;', $string));
Отмена автоматической замены чисел датами
Microsoft Excel предварительно запрограммирован, чтобы упростить ввод дат. Например, 12/2 изменяется на 2 декабря. Это очень разочаровывает, когда вы вводите то, что вы не хотите изменить до даты. К сожалению, нет способа отключить это. Но есть способы обойти его.
Преформатировать ячейки, в которые нужно ввести числа, в виде текста. Таким образом, Excel не будет пытаться изменить то, что вы вводите в даты.
Если у вас есть только несколько чисел для ввода, вы можете остановить их изменение в Excel на даты, введя:
- Пробел перед вводом числа. Пробел остается в ячейке после нажатия клавиши ВВОД. (См. примечания)
- Апостроф (‘) перед вводом числа, например ’11-53 или ‘1/47. После нажатия клавиши ВВОД апостроф не отображается в ячейке.
- Ноль и пробел перед вводом дроби, например 1/2 или 3/4, чтобы они не изменялись, например, на 2 января или 4 марта. Введите 0 1/2 или 0 3/4. Ноль не остается в ячейке после нажатия клавиши ВВОД, а ячейка становится типом Номер дроби.
- Выберите ячейки , в которые будут вводиться числа.
- Нажмите клавиши CTRL+1 (1 в строке чисел над клавишами QWERTY), чтобы открыть формат ячеек.
- Выберите Текст и нажмите кнопку ОК.
- Выберите ячейки, в которые необходимо ввести числа.
- Щелкните Главная >Числовой формат >Текст.
- Мы рекомендуем использовать апостроф вместо пробела для ввода данных, если вы планируете использовать функции подстановки для данных. Такие функции, как ПОИСКПОЗ и ВПР, не учитывают апострофы при вычислении результатов.
- Если число в ячейке выровнено по левому краю, обычно это означает, что оно не отформатировано как число.
- При введении в ячейку числа с буквой «е», например 1e9, оно автоматически преобразуется в научное число: 1,00E+09. Чтобы избежать этого, введите перед числом апостроф: ‘1e9
- В зависимости от введенного числа в левом верхнем углу ячейки может появиться небольшой зеленый треугольник, указывающий, что число хранится в виде текста, что в Excel является ошибкой. Либо игнорируйте треугольник, либо щелкните его. Слева появится поле. Щелкните поле и выберите Игнорировать ошибку, чтобы удалить треугольник.
Дополнительные сведения
Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.
Скрытие значений и индикаторов ошибок в ячейках
Предположим, что в формулах электронной таблицы есть ожидаемые ошибки, которые не нужно исправлять, но вы хотите улучшить отображение результатов. Существует несколько способов скрыть значения ошибок и индикаторы ошибок в ячейках.
Существует множество причин, по которым формулы могут возвращать ошибки. Например, деление на 0 запрещено, и если ввести формулу =1/0, Excel вернет #DIV/0. Значения ошибок: #DIV/0!, #N/A, #NAME?, #NULL!, #NUM!, #REF!и #VALUE!.
Преобразование ошибки в нулевое значение и использование формата для скрытия значения
Чтобы скрыть значения ошибок, можно преобразовать их, например, в число 0, а затем применить условный формат, позволяющий скрыть значение.
Создание примера ошибки
- Откройте чистый лист или создайте новый.
- Введите 3 в ячейку B1, введите 0 в ячейку C1, а в ячейке A1 введите формулу =B1/C1.
#DIV/0! в ячейке A1 отображается ошибка. - Выделите ячейку A1 и нажмите клавишу F2, чтобы изменить формулу.
- После знака равенства (=) введите IFERROR , а затем открываемую скобку.
IFERROR( - Переместите курсор в конец формулы.
- Введите , 0) — то есть запятая, за которой следует ноль и закрывающая скобка.
Формула =B1/C1 становится =IFERROR(B1/C1,0). - Нажмите клавишу ВВОД, чтобы завершить редактирование формулы.
Теперь содержимое ячейки должно отображать 0 вместо #DIV! должно отображаться значение 0.
Применение условного формата
- Выделите ячейку с ошибкой и на вкладке Главная нажмите кнопку Условное форматирование.
- Выберите команду Создать правило.
- В диалоговом окне Создание правила форматирования выберите параметр Форматировать только ячейки, которые содержат.
- Убедитесь, что в разделе Форматировать только ячейки, для которых выполняется следующее условие в первом списке выбран пункт Значение ячейки, а во втором — равно. Затем в текстовом поле справа введите значение 0.
- Нажмите кнопку Формат.
- На вкладке Число в списке Категория выберите пункт (все форматы).
- В поле Тип введите ;;; (три точки с запятой) и нажмите кнопку ОК. Нажмите кнопку ОК еще раз.
Значение 0 в ячейке исчезнет. Это связано с тем, что пользовательский формат ;;; предписывает скрывать любые числа в ячейке. Однако фактическое значение (0) по-прежнему хранится в ячейке.
Скрытие значений ошибок путем изменения цвета текста на белый
Используйте следующую процедуру для форматирования ячеек, содержащих ошибки, чтобы текст в этих ячейках отображался белым шрифтом. Это делает текст ошибки в этих ячейках практически невидимым.
- Выделите диапазон ячеек, содержащих значение ошибки.
- На вкладке Главная щелкните стрелку рядом с элементом Условное форматирование и щелкните Управление правилами.
Откроется диалоговое окно Диспетчер правил условного форматирования . - Выберите команду Создать правило.
Откроется диалоговое окно Новое правило форматирования . - В списке Выберите тип правила выберите пункт Форматировать только ячейки, которые содержат.
- В разделе Измените описание правила в списке Форматировать только ячейки, для которых выполняется следующее условие выберите пункт Ошибки.
- Нажмите кнопку Формат и откройте вкладку Шрифт.
- Щелкните стрелку, чтобы открыть список Цвет , и в разделе Цвета темы выберите белый цвет.
Отображение прочерка, строки «#Н/Д» или «НД» вместо значения ошибки
В некоторых случаях вы не хотите, чтобы поля ошибок отображались в ячейках, и вы предпочитаете, чтобы вместо этого отображалась текстовая строка, например «#N/A», дефис или строка «NA». Сделать это можно с помощью функций ЕСЛИОШИБКА и НД, как показано в примере ниже.
Описание функций
IFERROR С помощью этой функции можно определить, содержит ли ячейка ошибку и возвращает ли ошибку формула.
Н/Д Эта функция возвращает в ячейке строку «#Н/Д». Синтаксис : =NA().
Скрытие значений ошибок в отчете сводной таблицы
- Выберите отчет сводной таблицы.
- На вкладке Анализ сводной таблицы в группе Сводная таблица щелкните стрелку рядом с элементом Параметры и выберите пункт Параметры.
- Перейдите на вкладку Разметка и формат, а затем выполните следующие действия.
- Изменение способа отображения ошибок. Установите флажок Для значений ошибки отобразить проверка в разделе Формат. Введите в поле значение, которое нужно выводить вместо ошибок. Для отображения ошибок в виде пустых ячеек удалите из поля весь текст.
- Изменение способа отображения пустых ячеек Установите флажок Для пустых ячеек отображать. Введите в поле значение, которое нужно выводить в пустых ячейках. Чтобы они оставались пустыми, удалите из поля весь текст. Чтобы отображались нулевые значения, снимите этот флажок.
Скрытие индикаторов ошибок в ячейках
В левом верхнем углу ячейки с формулой, которая возвращает ошибку, появляется треугольник (индикатор ошибки). Чтобы отключить его отображение, выполните указанные ниже действия.
Ячейка с ошибкой в формуле
- На вкладке Файл выберите Параметры и Формулы.
- В разделе Поиск ошибок снимите флажок Включить фоновый поиск ошибок.
Excel: Удаление пустых ячеек из диапазона
Часто при работе с большими таблицами данных необходимо удалить пустые ячейки, оставив только ячейки с информацией.
Имеем диапазон ячеек с данными, в котором есть пустые ячейки.
Задача — удалить пустые ячейки.
1.Выделяем исходный диапазон
2. Для Excel 2003
Выбираем в меню команду Правка – Перейти — далее кнопку Выделить
Для Excel 2007 и выше
Выбираем на вкладке Главная команду Найти и выделить и далее Выделение группы ячеек
3. В открывшемся окне Выделение группы ячеек выбираем Пустые ячейки и нажимаем ОК.
В результате будут выделены все пустые ячейки в диапазоне.
4. Удаляем выделенные ячейки (Правка — Удалить ячейки) со сдвигом вверх
В итоге, в диапазоне остались только ячейки, содержащие информацию.