Имя: Пароль:
1C
1С v8
Загрузка из Excel файла текстов с английской буквой E
0 Dinara
 
30.06.13
16:19
Добрый день!
Проблема в загрузке данных из Excel. Точнее с форматами ячеек. Есть ячейка с артикулом товара = 548132E100, но в самом файле Excel 5,48132E+105.
Апострофы не помогают, т.к. само формирование этого файла Excel нет доступа. Файл Excel присылают по почте.
Пож-та, помогите, уже 3 день все никак не решается это казалось бы не сложная задача.
1 hhhh
 
30.06.13
16:52
Если Значение = 5,48132E+105 Тогда
   Значение = "548132E100";
КонецЕсли;
2 Max Street
 
30.06.13
17:00
стрзаменить(ИсходнаяСтрока, ",", "");
стрзаменить(ИсходнаяСтрока, "+", "");
3 Zmich
 
30.06.13
17:25
Используй не .Value, а .Text
4 Dinara
 
30.06.13
19:06
Использую атрибут .Text, результат тот же.
СтрЗаменить не решает проблемы, нужно исходное значение.
5 Ковычки
 
30.06.13
19:09
.Value(12)
6 Dinara
 
30.06.13
19:10
.Value-тоже самое выдает,5,48132E+105
7 Ковычки
 
30.06.13
19:11
.Value(12)
.Value(11)
8 Dinara
 
30.06.13
19:32
использую Value(12) получаем

<xml xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"
xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"
xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
<x:PivotCache>
 <x:CacheIndex>1</x:CacheIndex>
 <s:Schema id="RowsetSchema">
  <s:ElementType name="row" content="eltOnly">
   <s:attribute type="Col1"/>
   <s:extends type="rs:rowbase"/>
  </s:ElementType>
  <s:AttributeType name="Col1" rs:name="Поле1">
   <s:datatype dt:type="float"/>
  </s:AttributeType>
 </s:Schema>
 <rs:data>
  <z:row Col1="5.4813200000000001E+105"/>
 </rs:data>
</x:PivotCache>
</xml>
9 Ковычки
 
30.06.13
19:34
dt:type="float"
10 Ковычки
 
30.06.13
19:34
там точно не текст
11 Ковычки
 
30.06.13
19:35
Вам изначально выслан файл с ненужным для Вас типом данных
12 Ковычки
 
30.06.13
19:35
Вам остается, только "округлять"
13 Dinara
 
30.06.13
20:38
Да, округлять тяжело в условиях когда это артикул товара.
Не исключено что будет 548132E100, 48131E100 и т.д.
Всем спасибо за участие.
14 Eugeneer
 
30.06.13
20:41
за деньги не предлагать?
15 Dinara
 
30.06.13
20:47
<<за деньги не предлагать?

Не совсем понятен Ваш вопрос?
16 Eugeneer
 
30.06.13
20:49
платное решение вопроса. с гарантией 1 год.
17 Dinara
 
30.06.13
20:49
какова цена вопроса?
18 Eugeneer
 
30.06.13
20:51
(17) я думаю вас устроит. Вот по ссылке во первых готовое решение для загрузки http://subsystems.ru/catalog/27/158/ (есть ссылка для УТ11)
в это решение также входит специально разработанная нами компонента считывания файлов без экселя всех форматов офиса, ну и такжевсе замороки с символами и так далее и так далее. Соответственно несем гарантию на все.
Доработки и прочее. обновления в течении года бесплатны
19 Злопчинский
 
30.06.13
20:54
(11) Ковычки. ты думаешь те кто высылают и те кто получает - понимают различие между значением и его визуальным представлением...? сталкивался с этим не раз - тупняк полный...
20 Aprobator
 
30.06.13
21:07
(14) (18) Маня, ты неистребим )))
21 Aprobator
 
30.06.13
21:14
(0) посмотри в сторону ADO.
22 Ковычки
 
30.06.13
21:44
(13) побалуйтесь с различными вариациями


Ячейка.NumberFormatLocal = ",000000E-1";
Сообщить(Ячейка.Text);
23 Dinara
 
30.06.13
21:52
Насчет ADO, тоже самое
24 Dinara
 
30.06.13
21:54
есть логика
5,48132E+105 = 548123 + Е + (105-5)

если работать как со строкой то
1. убираем запятую
2. считаем количество между запятой до У
3. теперь от стенени экспоненты отнимаем рез-т шага (2)
25 Dinara
 
30.06.13
21:59
есть логика
5,48132E+105 = 548123 + Е + (105-5)

если работать как со строкой то
1. считаем количество между запятой до E
2. убираем запятую
3. теперь от степени экспоненты отнимаем рез-т шага (1)
26 Dinara
 
30.06.13
22:59
Всем спасибо за участие, советы, наводки.