powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Запретить Excel'ю "вычислять" значения вида +01-05-03+02. Как ?
19 сообщений из 19, страница 1 из 1
Запретить Excel'ю "вычислять" значения вида +01-05-03+02. Как ?
    #38435363
NightBomber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все здрассте.

Есть html-текст с таблицей, создаваемый в некоторой программе, и она может записать в одну из ячеек что-то типа такого: <td>+01-00-01-05 </td>
Если текст сохранять с расширением .html или .xls, то эксель при его открытии покажет в ячейке НЕ строку +01-00-01-05, а результат её вычисления, т.е. число -5.
Другой пример: если записано <td>-A2-C1+C3 </td>, то он при открытии начнёт вообще лезть в ячейки и, в зав. от того, что там записано, покажет или околесицу или сообщение что "типа не могу вычислить".

Как запретить ему делать это и заставить воспринимать текст внутри <td> именно как ТЕКСТ ?
...
Рейтинг: 0 / 0
Запретить Excel'ю "вычислять" значения вида +01-05-03+02. Как ?
    #38435374
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поставьте первым символом апостроф:
Код: plaintext
<td>'+01-00-01-05 </td>
Правда, опасное это дело - непарные апострофы...
...
Рейтинг: 0 / 0
Запретить Excel'ю "вычислять" значения вида +01-05-03+02. Как ?
    #38435400
NightBomber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTM,

во-первых - да, опасное;
во-вторых - этот апостроф становится виден при просмотре в экселе, т.е. он НЕ "прячет" его.
...
Рейтинг: 0 / 0
Запретить Excel'ю "вычислять" значения вида +01-05-03+02. Как ?
    #38435412
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В ячейке апостроф не виден, только в строке формул
...
Рейтинг: 0 / 0
Запретить Excel'ю "вычислять" значения вида +01-05-03+02. Как ?
    #38435416
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NightBomberапостроф становится виден при просмотре в экселеПримеры файлов (исходного и полученного), показывающие это?

И вообще, как это вы "сохраняете с расширением .xls"? - от этого же текст не станет документом Excel.
А если вы сохранили текст с расширением .html - то как вы открываете файл в Excel? Какие преобразования производите?
...
Рейтинг: 0 / 0
Запретить Excel'ю "вычислять" значения вида +01-05-03+02. Как ?
    #38435452
NightBomber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTMNightBomberапостроф становится виден при просмотре в экселеПримеры файлов (исходного и полученного), показывающие это?лехко, см аттач.
AndreTMИ вообще, как это вы "сохраняете с расширением .xls"? - от этого же текст не станет документом Excel.Но таки ОТКРОЕТСЯ в экселе без всяких там "Мастеров импорта", правильно распознает кодировку и проч. - а мне это и надо.
AndreTMА если вы сохранили текст с расширением .html - то как вы открываете файл в Excel? Какие преобразования производите?Запустил в "пустой эксель", дальше Ctrl-O, задал все файлы, выбрал html-ный, и всё. А что не так ?
...
Рейтинг: 0 / 0
Запретить Excel'ю "вычислять" значения вида +01-05-03+02. Как ?
    #38435457
NightBomber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serge 007В ячейке апостроф не виден, только в строке формултут кругом эксель-2003, в нём апостроф *виден*.
...
Рейтинг: 0 / 0
Запретить Excel'ю "вычислять" значения вида +01-05-03+02. Как ?
    #38435485
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NightBomberэксель-2003, в нём апостроф *виден*.Не-а. От версии не зависит
...
Рейтинг: 0 / 0
Запретить Excel'ю "вычислять" значения вида +01-05-03+02. Как ?
    #38435500
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Серж, у меня 2003 - рисует апостроф в ячейке, как ни странно...

С другой стороны, нам же главное, чтобы Excel при таком "открытии" правильно интерпретировал этот столбец как текст, и для этого просто сначала проставим апострофы во все ячейки, а после открытия - можем, например, Поиском и Заменой их убрать.

Я просто исхожу из того,что такой метод передачи данных - сильно неправильный. И когда-нибудь первый же залетевший в Офис дятел всё порушит
...
Рейтинг: 0 / 0
Запретить Excel'ю "вычислять" значения вида +01-05-03+02. Как ?
    #38435510
NightBomber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serge 007NightBomberэксель-2003, в нём апостроф *виден*.Не-а. От версии не зависитДа, апостроф в графе не виден. Но виден в строке формул/выражений. И действительно какой-нить усер может эту красоту поломать.
А вот что делать с другими ячейками ? (см аттач.)
...
Рейтинг: 0 / 0
Запретить Excel'ю "вычислять" значения вида +01-05-03+02. Как ?
    #38435520
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NightBomberвиден в строке формул/выражений. И действительно какой-нить усер может эту красоту поломатьЕсли вы после открытия выставите формат для столбца "Текстовый" - то убирание апострофа уже ничего не поломает. Вообще-то, если вы не в курсе, в Excel апостроф в начале данных ячейки как раз и указывает,что надо интерпретировать последующие литералы как текстовую строку...
...
Рейтинг: 0 / 0
Запретить Excel'ю "вычислять" значения вида +01-05-03+02. Как ?
    #38435523
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTMрисует апостроф в ячейкеF2 - Enter

NightBomberапостроф в графе не виден. Но виден в строке формул
Serge 007В ячейке апостроф не виден, только в строке формул

NightBomberчто делать с другими ячейками ?
AndreTMпроставим апострофы во все ячейки
...
Рейтинг: 0 / 0
Запретить Excel'ю "вычислять" значения вида +01-05-03+02. Как ?
    #38435525
NightBomber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTMNightBomberвиден в строке формул/выражений. И действительно какой-нить усер может эту красоту поломатьЕсли вы после открытия выставите формат для столбца "Текстовый" - то убирание апострофа уже ничего не поломает. Вообще-то, если вы не в курсе, в Excel апостроф в начале данных ячейки как раз и указывает,что надо интерпретировать последующие литералы как текстовую строку...разумеется, я знаю про интерпретацию апострофа экселем и про выставление формата как тестового. Но очень уж надо "подсказать" экселю про формат этого столбца, чтобы он САМ такое делал. Юзера здесь дюже лениво-туповатые.
...
Рейтинг: 0 / 0
Запретить Excel'ю "вычислять" значения вида +01-05-03+02. Как ?
    #38435528
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serge 007AndreTMрисует апостроф в ячейкеF2 - Enter Это-то я знаю. Но у ТС же не одна ячейка будет. И вот здесь мы начнём ему долго объяснять, как "перезаменить" значения в диапазоне разом
Вот я и предложил - Ctrl+H
...
Рейтинг: 0 / 0
Запретить Excel'ю "вычислять" значения вида +01-05-03+02. Как ?
    #38435536
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NightBomberНо очень уж надо "подсказать" экселю про формат этого столбца, чтобы он САМ такое делал.Я вам выше пояснил же, что для этого надо использовать нормальный обмен данными. Например, в формате CSV - тогда Excel хотя бы правильно интерпретирует входные данные.
С другой стороны, на 100% в данных (включая выставление форматов) быть уверенным можно только в случае использования собственного парсера/импортера.
...
Рейтинг: 0 / 0
Запретить Excel'ю "вычислять" значения вида +01-05-03+02. Как ?
    #38435546
NightBomber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTMNightBomberНо очень уж надо "подсказать" экселю про формат этого столбца, чтобы он САМ такое делал.Я вам выше пояснил же, что для этого надо использовать нормальный обмен данными. Например, в формате CSV - тогда Excel хотя бы правильно интерпретирует входные данные.
С другой стороны, на 100% в данных (включая выставление форматов) быть уверенным можно только в случае использования собственного парсера/импортера.CSV - там разделителем является точка с запятой, и только она - так ? Но у меня есть данные с этой самой точкой запятой внутри текста, т.е. НЕ как разделитель! И что тогда делать ?
...
Рейтинг: 0 / 0
Запретить Excel'ю "вычислять" значения вида +01-05-03+02. Как ?
    #38435555
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то, стандартный разделитель - запятая. И точка - как разделитель дробной части чисел. И возможность заключения текстовых данных в кавычки/апострофы.
...
Рейтинг: 0 / 0
Запретить Excel'ю "вычислять" значения вида +01-05-03+02. Как ?
    #38435590
NightBomber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTMВообще-то, стандартный разделитель - запятая. И точка - как разделитель дробной части чисел. И возможность заключения текстовых данных в кавычки/апострофы.я правильно понимаю, что в формате CSV надо сохранять данные примерно так:

Код: plaintext
"МАГНИТОЛА ""PIONEER""" ; "КНИГА;ТЕТРАДКА;БЛОКНОТ;"
(т.е. внутренние кавычки - задваиваем)
?
...
Рейтинг: 0 / 0
Запретить Excel'ю "вычислять" значения вида +01-05-03+02. Как ?
    #38435684
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTMкак "перезаменить" значения в диапазоне разомМакросом ;)
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Запретить Excel'ю "вычислять" значения вида +01-05-03+02. Как ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]