|   |   | 
| 
 | Програмное изменение ширины колонки в файле CSV через Ексель | ☑ | ||
|---|---|---|---|---|
| 0
    
        serg-lom89 15.04.16✎ 10:52 | 
        Добрый день
 Есть файл CSV Его я открываю с помощью ексель. Но тут такой косяк получается что ,что ширина колонок маленькая и некоторые значения видны в отладчике как ###########/ Как мне в данном случае изменить ширину колонок и записать этот этот файл уже с измененными данными? Вот кусок кода Попытка Excel = Новый COMОбъект("Excel.Application"); Excel.WorkBooks.Open(ПутьКФайлу); Состояние("Обработка файла Microsoft Excel..."); Исключение Сообщить("Ошибка при открытии файла с помощью Excel! Загрузка не будет произведена!"); Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; Попытка Excel.Sheets(1).Select(); // лист 1, по умолчанию Исключение Excel.ActiveWorkbook.Close(); Excel = 0; Сообщить("Файл "+Строка(ПутьКФайлу)+" не соответствует необходимому формату! Первый лист не найден!"); ОтменитьТранзакцию(); Возврат; КонецПопытки; //Получим количество строк и колонок. //В разных версиях Excel получаются по-разному, поэтому сначала определим версию Excel Версия = Лев(Excel.Version,Найти(Excel.Version,".")-1); Если Версия = "8" тогда ФайлСтрок = Excel.Cells.CurrentRegion.Rows.Count; ФайлКолонок = Макс(Excel.Cells.CurrentRegion.Columns.Count, 13); Иначе ФайлСтрок = Excel.Cells(1,1).SpecialCells(11).Row; ФайлКолонок = Excel.Cells(1,1).SpecialCells(11).Column; Конецесли; Для НомерСтолбца =1 по ФайлКолонок Цикл ТекСтолбец =Excel.Sheets(1).Columns(НомерСтолбца).ColumnWidth = 30; ; КонецЦикла; хотя он стандартый взят | |||
| 1
    
        serg-lom89 15.04.16✎ 11:08 | 
        up-ну тему)     | |||
| 2
    
        Лодырь 15.04.16✎ 11:10 | 
        В каком формате вы собираете записать файл?     | |||
| 3
    
        serg-lom89 15.04.16✎ 11:14 | 
        (2) хотелось бы снова его записать в csv     | |||
| 4
    
        Лодырь 15.04.16✎ 11:14 | 
        (3) Не получится. Формат csv не предусматривает информации о ширине колонок. Там нет такого понятия.     | |||
| 5
    
        silent person 15.04.16✎ 11:14 | 
        csv это текст с разделителями, нафига Excel ?     | |||
| 6
    
        serg-lom89 15.04.16✎ 11:19 | 
        (5) это верно..но там есть косяки в самом файле что присылают.разделитель бывает в наименование и иногда в прочих колонках.Разделитель менять ребята что будут присылать файл не будут((     | |||
| 7
    
        Dedal 15.04.16✎ 11:21 | 
        (6) Проверять поступившую информацию на запрещенные символы. удалять.     | |||
| 8
    
        serg-lom89 15.04.16✎ 11:25 | 
        Как тогда изменить мой формат csv на Ексель ?через 1с конечно было бы сделать ,что бы пользователь не замарачивался     | |||
| 9
    
        Лодырь 15.04.16✎ 11:43 | 
        (8)
 Выбирай: 1. Открыть из 1с эксель, открыть из него csv и сохранить в xls. 2. Прочитать в 1С, запихать в табличный документ и сохранить в xls. | |||
| 10
    
        serg-lom89 15.04.16✎ 11:47 | 
        (9) а сам текущий файл поменять на ексель?     | |||
| 11
    
        mikecool 15.04.16✎ 11:49 | 
        (6) тебе присылают некондицию и ты мучаешься, оно тебе надо?     | |||
| 12
    
        serg-lom89 15.04.16✎ 11:50 | 
        (11) мне это не надо)))
 надо другим( | |||
| 13
    
        Fedor-1971 15.04.16✎ 11:57 | 
        (12) глупством маешься.
 читай полученный CSV как текстовый файл прямо из 1С, стр=фл.Получитьстроку(НомерСтроки) масСтр=СтрЗаменить(стр,";", символы.ПС); если ЧислоСтрок(масСтр) = КоличествоТвоихКолонок тогда нормально, разбираем строку и радуемся жизни Иначе пиши для разбора строки, например в Лог-файл КонецЕсли; | |||
| 14
    
        Fedor-1971 15.04.16✎ 11:58 | 
        13 вместо ЧислоСтрок = стрЧислоСтрок - лопухнулся, каюсь     | |||
| 15
    
        Лодырь 15.04.16✎ 12:02 | 
        (13) Откройте для себя
 СтрЧислоВхождений(<Строка>, <ПодстрокаПоиска>) СтрРазделить(<Строка>, <Разделитель>, <ВключатьПустые>) и другие новые функции работы со строками | |||
| 16
    
        Fedor-1971 15.04.16✎ 12:09 | 
        (15) Во на как, я предложил один из возможных вариантов, достаточно универсальный для любой из 8.х
 Можно и через регулярные выражения анализировать строку и конечный автомат нагородить. Это ТС решать, но он лезет в EXEL, для чего и зачем не понятно. | |||
| 17
    
        Лодырь 15.04.16✎ 12:38 | 
        (16) Таки да, вы правы.     | |||
| 18
    
        mingw 15.04.16✎ 12:47 | 
        (0)
 1. Валидный CSV " (кавычки) имеет. С обоих сторон текста. 2. Если CSV не валидный. См. п.1. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |