|
v7: Определить формат ячейки Excel | ☑ | ||
---|---|---|---|---|
0
Andreyyy
12.03.13
✎
13:38
|
Есть обработка, которая загружает файлы Excel через Йоксель (самого Excel нет на машине).
Как определить "специфичный" формат ячейки без Excel (в Йокселе хотелось бы) как на картинке http://s019.radikal.ru/i621/1303/ea/21d8f75f38a1.jpg Грузит строку "75", а нужно как в файле "75B". Через Excel делал так: Размер=СокрЛП(Строка(вДок.Cells(пер, 7).Value)); ФорматЯчейки=Строка(вДок.Cells(пер, 7).NumberFormat); Если СтрДлина(ФорматЯчейки)>=4 Тогда ФорматЯчейки=Сред(ФорматЯчейки,СтрДлина(ФорматЯчейки)-1,1); Иначе ФорматЯчейки=""; Конецесли; Если ФорматЯчейки="А" Тогда Размер=Размер+"-A"; ИначеЕсли ФорматЯчейки="В" Тогда Размер=Размер+"-B"; ИначеЕсли ФорматЯчейки="С" Тогда Размер=Размер+"-C"; ИначеЕсли ФорматЯчейки="Д" Тогда Размер=Размер+"-D"; КонецЕсли; |
|||
1
cw014
12.03.13
✎
13:39
|
вДок.Cells(пер, 7).NumberFormat чо дает то в итоге?
|
|||
2
Andreyyy
12.03.13
✎
13:43
|
(1) ФорматЯчейки = "В"
|
|||
3
Andreyyy
12.03.13
✎
13:44
|
(1) Если обычный формат, то просто "Основной".
|
|||
4
Andreyyy
12.03.13
✎
13:45
|
(1) вДок.Cells(пер, 7).NumberFormat = "0"В""
|
|||
5
cw014
12.03.13
✎
13:47
|
(4) Ну тогда как нибудь так:
Ячейка = вДок.Cells(пер, 7); Значение = СтрЗаменить(Ячейка.NumberFormat,"0",Ячейка.Значение); Значение = СтрЗаменить(Ячейка.NumberFormat,"""",""); |
|||
6
cw014
12.03.13
✎
13:48
|
А вообще лучше через RegExp
|
|||
7
skunk
12.03.13
✎
13:55
|
Cells(пер, 7).Text
|
|||
8
cw014
12.03.13
✎
13:56
|
(7) О, запомним, а то я методы екселя позабыл совсем
|
|||
9
skunk
12.03.13
✎
13:57
|
(8)ну в данном случае это проперти
|
|||
10
Andreyyy
12.03.13
✎
14:14
|
(5)(7) Excel нет на машине !
|
|||
11
skunk
12.03.13
✎
14:15
|
йоксель его тоже вроде тянет
|
|||
12
Andreyyy
12.03.13
✎
14:33
|
(7) Работает без извратов, спасибо.
(11) Что-то не найду такого метода, да и вообще как к ячейкам добираться в Йокселе, гружу в таблицу значений так: Таб = СоздатьОбъект("ТабличныйДокумент"); Конвертер = СоздатьОбъект("КонвертерExcel"); Книга = Конвертер.Открыть(ПутьДляФайлаЗагрузки + ФайлЗагрузки); Листы = Книга.Листы; Лист = Листы.Получить(1); Если Лист.Тип <> 0 Тогда Возврат 0; КонецЕсли; ИмяЛиста = Лист.Имя; Документ = Книга.ЗагрузитьЛист(ИмяЛиста); Конвертер = СоздатьОбъект ("Йоксель.КонвертерВТаблицуЗначений"); Конвертер.УстановитьДокумент(Документ); Конвертер.ОпределятьСтруктуру = 0; Конвертер.ПроверятьСтруктуру = 0; Конвертер.СтрокДляОпределенияСтруктуры = 15; ТЗ = Конвертер.Загрузить(); |
|||
13
skunk
12.03.13
✎
14:35
|
(12)нет с йокселем я пас
|
|||
14
Andreyyy
12.03.13
✎
14:40
|
Придется видимо через опеноффис грузить.
|
|||
15
skunk
12.03.13
✎
14:44
|
(14)а у тебя ексель какого формата?
|
|||
16
Andreyyy
12.03.13
✎
15:59
|
(15) 2003 вроде присылают.
|
|||
17
Andreyyy
12.03.13
✎
18:13
|
Получилось через опеноффис, ничего переделывать не пришлось, только подключение. Метод в (7) так же работает.
|
|||
18
Andreyyy
13.03.13
✎
13:14
|
Help !
(17) Конечно пришлось переделать, методы отличаются. (7) Кокой подобный метод в ОпенОффисе ? Опять вопрос по сабжу, но как решить в ОпенОффисе ? |
|||
19
Andreyyy
13.03.13
✎
13:40
|
Апну
|
|||
20
cw014
13.03.13
✎
13:48
|
Статей много по опену. Поищи.
|
|||
21
Andreyyy
13.03.13
✎
13:50
|
(20) Плохо гуглил значит, ткни носом.
|
|||
22
Andreyyy
13.03.13
✎
14:26
|
Все работает через getString(), прогнал я.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |