#0
by vechiy
Надо в файл .csv записать значение с типом число без разделителей. Как убрать пробел не преобразуя формат? И что-то и не соображу, как это сделать. Формат возвращает строку.
#4
by vechiy
ну вот и у меня сомнения закрались уже давно.. думал, не знаю специфику csv-файлов.. там есть различение типов? Сторона, принимающая csv, говорит, что ряд значений там числа (эти значения получаются из запроса, номера счетов). А некий идентификатор - строка. Формируется в коде. А должен быть числом
#6
by vechiy
Я записываю цсв как обычный текстовый файл. Однако если открыть его потом екселем - номера счетов выражаются числом(степенью). Че то я запутался.
#8
by vechiy
я его если строкой записываю - все равно в екселе преобразуется к числу.. по большому счету - в цсв-файле просто негде хранится информации о типах значений. Форматом - вернёт строку. Надо число) Ну и что касается сабжа - как всё-таки получить число в ЧИСЛОВОМ формате и без пробелов?
#9
by 73
Ексель при открытии пытается определить типы. Если к числу может преобразовать - будет число. В ТЕКСТЕ нет типов. Там всё - строки. Нужный формат задай Формат-ом.
#10
by Dem1urg
Что такое CSV. Это ТЕКСТ. При его открытии некоторыми программами (например, Excel) сами эти программы пытаются интерпретировать данные из файла на свой вкус. Например, строку состоящую из цифр они могут воспринимать как число. Так понятно?
#12
by Aprobator
не поверишь - число всегда без пробелов, а вот его представление, которое получается при преобразовании в строку, с пробелом. Получить строковое представление числа без пробелов Формат(Число, "ЧГ=0").
#14
by vechiy
видимо так.. - знаю!) просто на другой стороне эти цсв-файлы разбирают каким-то своим методом. Как разбирают - мне непонятно. Жду от них ответа. ну, видимо, развели меня, а я поневоле развёл вас) т.е. любое преобразуемое к числу значение ексель преобразует?
#17
by Рэйв
Тупит. Если допустим 15569 из файла они получают строкой и не могут сделать из него число, то явно тупит. но если все таки это ты туда пихаешь 15 569 , то тупят уже не они:)
#19
by Kreont
Есть различие типов именно в файле csv: Если строка то обязательно в кавычках екранируючих Если число, то без кавычек, вот и вся разница
#20
by vechiy
щас интересный момент - записываю идентификатор длиной как номер счета. при открытии в ексель - номера счетов выражаются степенью, идентификатор - просто целым числом)
#21
by Kreont
Может у них просто алгорит импорта написан под правильный формат csv. Пример: "56",45.4,"67.7" => Строка, число, строка
#22
by vechiy
ну это различие, я так понимаю, для читающих программ в любом случае, все без кавычек. в том числе и текст
#23
by Aprobator
если пробел в числе убран, то возможный вариант, что на той стороне разделитель дробной части другой юзается, потому преобразование из строки в число и не взлетает.
#24
by Kreont
Надо "текст" в кавычки, а то иначе разделитель груп (например запятую, табуляцию) неполучится передать в файл
#26
by Bida
Я с подобной "фигней" сталкивался. Дело в том, что на той стороне открывают файл через ado драйвером-экселем. Там первую строку эксель пытается сам преобразовать по типам, а затем следующие строки преобразует к этому типу в колоке незавивисмо от содержимого. Для избежания этого надо первой строкой передавать заголовки колонок текстом (то есть название колонки начинается с буквы), тогда эксель будет думать что все следующие строки в колонке - текст. Ещё такая же фигня происходит при интерактивном сохранение экселем в формат csv (может без ковычек фигачить чилса, а драйвер ado потом раскручивает иначе). Ссылку выше тебе дали с описанием формата. Эксель этому формату не следует. Советую объяснить это той "принимающей стороне" и пусть парсят файл как текстовый, а не через драйвер экселя.
#27
by vechiy
как раз-таки при сохранении в цсв из экселя всё вроде нормально. Я же формирую текстовый файл из 1с, сохраняю в .csv В итоге текстовые номера счетов воспринимает как число, а идентификатор - как текст.
#29
by vechiy
что сравнить? записал идентификатор длиной в 20 знаков - при открытии в эксель преобразовал в число. ппц.
#32
by vechiy
походу правильно будет .00 ...хрень идентификатор с дробной частью если не менять тип ячейки, то мои файлы от сохраненных из эксель в цсв ничем не отличаются.
#36
by vechiy
меня то все устраивает. их программу разбора не устраивает, потому что идентификатор - пятизначное число - неявно преобразуется к строке при разборе. А должно быть число. Сейчас выяснили, вроде.. достаточно .00 добавить
#39
by vechiy
Проблема так и не разрешилась.. они правят цсв-файл в екселе, выставляют тип "число" для идентификатора. Но при этом сам файл не меняется! И при следующем открытии в эксель тип остаётся "общий". А файлы грузятся..
#40
by Kreont
Пример файла: по типах: Есди "ИХ" програма по такому шаблону csv не схавает файл, то пусть переписывают импорт свой
#45
by Ахиллес
Полюбасу руки надо выпрямлять тому прогу, который загрузку писал. Ты ему хоть какой файл пришли, он его неправильно загрузит. Договорись о загрузке из ДБФ если получится. Что бы они в эксель не лазили и не свинячили.
#46
by vechiy
А самое интересное, что от других файлы нормальные приходят) но они вручную из экселя сохраняют) разницы не могу понять..
#47
by vechiy
Оу! Выяснили! При записи из 1ски в цсв в начале строки появляются три символа (можно увидеть в хекс-редакторе, например) Без них - грузится нормально. Осталось понять как записать без них) У кого есть идеи, подскажите
#51
by Fragster
это little-big endian сгнатура юникода. сохраняйте не в юникод - и будет все хорошо. или открывайте тем, что этот самый юникод правильно определяет.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Создаем ВК "без программирования",получаем задержку в N-сек без 100% загр.
- Как преобразовать число из вида 1,5*10^3 в обычное число
- как преобразовать число с строку без разделителей.
- как преобразовать строку "246,36" в число 246,36? если Число("246,36") = 24
- Как закрыть форму документа, без сохранения и без запроса на сохранение
- Округлить число до ближайшего целого без условий можно?
- v7: В печатной форме прих. и расх. ордера число прописью без копеек
- БП3 отчёты руководителю без копеек, как сделать, чтобы было без округлений.
В этой группе 1С
- Подскажите как СправочникСписок в Таблицу значений?
- Конвертация единиц измерения 7 -> 8.
- v8: Захвачено субд
- Ошибка формата потока
- v8: недостаточно памяти
- как смотреть фрагмент журнала регистрации lgp ?
- Программно обратиться к конфигурации поставщика
- счет 97 "Расходы будущих периодов"
- Заполнение таб части в ОП и УП
- Почему не печатается дополнительный текст на этикетке весов Mettler toledo tiger
- От чего могут появляться минуса в ОСВ по 41 счету при нулевом количестве?
- Корректировка проводок
- Изменить счет в проводке !!!
- СКД. Получение итогов по одной из группировок после вывода
- ЗУП 8.2 - 2.5.33.4 При начислении по Больничному листу появились СТОРНО
- Ошибка при загрузке данных "bad allocation"
- УТ 10.3 Отчет "Валовая прибыль по поставщикам"
- v7: Не работает!!! FormEx / РасширениеФормы / ОбработкаОжидания
- КА закрытие 20 счета
- УПП суммовые разницы по налоговому учету