|
Програмное изменение ширины колонки в файле 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. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |