|
|
Как избавиться от пробелов в числе при загрузки из excel-файла? |
☑ |
|
0
Tomat
10.12.04
✎
10:28
|
Возникала какая-то нелепая проблема. Нужно загрузить данные о юрлицах из excel-файла, в том числе ИНН и КПП, которые, как известно, состоят из цифр. И после загрузки я вижу в форме юрлица ИНН в таком примерно виде: "3 234 048", а в исх. файле было "3234048204". Откуда-то вставляются пробелы, и из-за этого три цифры ИНН теряются, потому что длина ИНН только 10 знаков. А в КПП происходит еще интереснее - пробелы вставляются не справа через 3 знака, а слева - "323 401 0".
Текстовые данные загружаются без всяких изменений.
Подскажите кто-нибудь, откуда эта фигня лезет, и как от ее избавиться.
Текст зарузки такой:
Ячейка4= Лист.Cells(СчетчикСтрок,4); СпрОбъект.ИНН = Ячейка4.Value;
Я уж по-всякому пытался писать:
СпрОбъект.ИНН = Число(ЗначениеЯчейки4);
СпрОбъект.ИНН = Строка(ЗначениеЯчейки4);
СпрОбъект.ИНН = СокрЛП(ЗначениеЯчейки4);
И ячейкам в excel-файле присваивал и числовой, и текстовый тип - никакого толку.
Все равно пробелы появляются. А главное, если напустить на считанное значение функцию Найти(Строка, " "), то она говорит, что никаких пробелов там нет! Что же это за пробелы такие, которых вроде и нет, но тем не менее они вполне реальны, и знакоместо в ИНН и КПП занимают?
|
|
|
1
laeg
10.12.04
✎
10:33
|
В екселе стоит разделить групп разрядов, нужно его убрать и все будет ОК.
Если интересно как его не убирать, то 1 мин.
|
|
|
2
roman
naïve
10.12.04
✎
10:33
|
а может это и не пробелы
попробуй код этого "пробела" узнать
|
|
|
3
vS
10.12.04
✎
10:36
|
СпрОбъект.ИНН = Число(СтрЗаменить(ЗначениеЯчейки4, " ", ""));
|
|
|
4
Бивень
10.12.04
✎
10:37
|
Восьмёрка?
|
|
|
5
laeg
10.12.04
✎
10:43
|
Да и мона на файлик Екселевский глянуть ?
Формат ячейки там какой ?
|
|
|
6
Tomat
10.12.04
✎
11:01
|
(1) Мне интересно, как его убрать. :)
(2) Действительно, сейчас попробую.
(3) Пробовал, не помогает.
(4) Да, восьмерка, я вроде флажок ставил. Плохо поставил, что ли...
(5)А как взглянуть-то? Тут ведь прицепить нельзя вроде, а если я его просто скопирую в тело письма, весь Екселевский формат исчезнет. ЛДа я там формат менял уже на все подряд - был общий, ставил и текст, и число. Толку нет.
|
|
|
7
Бивень
10.12.04
✎
11:05
|
(6) Какого типа у тебя объект Ячейка4?
|
|
|
8
Tomat
10.12.04
✎
11:17
|
(4) Никакого типа нет, я присваиваю значение, тип определяется по умолчанию. Нужно явно присвоить какой-то тип, да? А как это сделать, я даже не знаю... :(
(2) Нашел! КодСимвола = 160. Это вовсе не пробел, а черт его знает что.
|
|
|
9
Бивень
10.12.04
✎
11:22
|
(8) 160 - неразрывный пробел
Это тебе восьмерка его подсовывает ...
Потому что, определила значение как числовое ...
|
|
|
10
vS
10.12.04
✎
11:23
|
+3 вместо пробела Символ(160) поставь
|
|
|
11
Tomat
10.12.04
✎
11:27
|
спасибо за советы, сейчас исправлю как-нибудь.
Ну и свинья же эта восьмерка - очень мне нужен ее неразрывный пробел... :)
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший