powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Кто-нибудь по-русски в опенэксель сохранял?
10 сообщений из 10, страница 1 из 1
Кто-нибудь по-русски в опенэксель сохранял?
    #34919660
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем!

Переходим на лицензионный софт потихоньку. На M$ офис всем денег не хватило :)

Ситуация такая: бухгалтера опенофис 2.2.0 в целом устраивает, но есть клиент-банк в котором кнопочка "Открыть в MS Excel", она ее раньше нажимала и в экселе все что надо досчитывала. Сейчас такой фокус не проходит. Но еще есть выгрузка в DBF, изначально выгрузка сама по себе корявая - все в 866, в заголовке кодировка не указана, еще и суммы в текстовом поле.
Я утилитку на VFP6 написал, чтобы эту dbf причесать, и проблема такая получается: если ее как XL5 сохранить, а потом открыть, то кракозябры убираются с помощью Cyrillictools, но надо в меню переконвертацию нажимать.

Никто не знает как из фокса сохранить, чтобы все сразу нормально в опенэкселе открылось? Или как программно открыть?
...
Рейтинг: 0 / 0
Кто-нибудь по-русски в опенэксель сохранял?
    #34919701
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По умолчанию, COPY TO сохранит файл в текущей кодовой странице среды FoxPro. Если нужна другая кодовая страница, то это надо указывать явно:

COPY TO ... AS 866

CPCONVERT() на все символьные поля, чтобы сделать их в нужной кодовой странице.
...
Рейтинг: 0 / 0
Кто-нибудь по-русски в опенэксель сохранял?
    #34919747
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМПо умолчанию, COPY TO сохранит файл в текущей кодовой странице среды FoxPro. Если нужна другая кодовая страница, то это надо указывать явно:

COPY TO ... AS 866

CPCONVERT() на все символьные поля, чтобы сделать их в нужной кодовой странице.

Это я в курсе, все в 1251 предварительно перегнал. Проблема именно в опенэкселе и формате XL5, он сам левую кодировку берет, более поздние эксели юникод используют, поэтому там эта проблема отсутствует. MS Excel нормально открывает.

Может кто знает как обойти? Некогда пока OLE опенофисовский изучать.
...
Рейтинг: 0 / 0
Кто-нибудь по-русски в опенэксель сохранял?
    #34919859
alexzima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше взять версию Оо 2.3
...
Рейтинг: 0 / 0
Кто-нибудь по-русски в опенэксель сохранял?
    #34919864
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexzimaЛучше взять версию Оо 2.3 А там эта проблема решена?
...
Рейтинг: 0 / 0
Кто-нибудь по-русски в опенэксель сохранял?
    #34920020
BMJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BMJ
Гость
У меня решилась проблема на 2.3 с опцией COPY TO nameFile TYPE XLS ( не XL5)
...
Рейтинг: 0 / 0
Кто-нибудь по-русски в опенэксель сохранял?
    #34920655
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BMJУ меня решилась проблема на 2.3 с опцией COPY TO nameFile TYPE XLS ( не XL5)
C 2.2 тоже работает. Спасибо
...
Рейтинг: 0 / 0
Кто-нибудь по-русски в опенэксель сохранял?
    #34926826
Koryuu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лично я, когда делал выгрузку в опенофис, создавал объекты и выгружал туда по ячейкам. Муторно, согласен, код строк на 100, не меньше, но зато можно сделать форматирование, прописать формулы и не парить юзера. Идеальный вариант для офисных блондинок:D
Если надо, могу выложить часть кода.
...
Рейтинг: 0 / 0
Кто-нибудь по-русски в опенэксель сохранял?
    #34926837
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KoryuuЛично я, когда делал выгрузку в опенофис, создавал объекты и выгружал туда по ячейкам. Муторно, согласен, код строк на 100, не меньше, но зато можно сделать форматирование, прописать формулы и не парить юзера. Идеальный вариант для офисных блондинок:D
Если надо, могу выложить часть кода.
Надо.
Данная ситуация и так разрешилась, т.к. задача простая - разделить выписку за день на суммы по подразделениям.
Но рано или поздно понадобится что-нибудь посерьезней.
...
Рейтинг: 0 / 0
Кто-нибудь по-русски в опенэксель сохранял?
    #34927300
KoryuuЛично я, когда делал выгрузку в опенофис, создавал объекты и выгружал туда по ячейкам.
Зачем такой гемор? Можно подготовить массив и выгрузить всю информацию из массива за 1 раз.
Необходимо только предварительно транспонировать подготовленный массив:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
* Процедура записи значения двумерного массива pArray
* в диапазон ячеек, находящихся на листе poSheet
* и начинающихся с ячейки со строкой pRow и столбцом pCol
PROCEDURE OOoSetDataArray
LPARAMETERS poSheet, pRow, pCol, pArray
LOCAL oRange, nRows, nCols, lI, lJ

   nRows = ALEN(pArray,  1 )
   nCols = ALEN(pArray,  2 )

   DIMENSION aDataArray[nCols, nRows]

   *-- Транспонируем массив для функции SetDataArray
   *-- Строки - это столбцы в OO, а столбцы - строки
   For lI= 1  To m.nRows
      For lJ= 1  To m.nCols
         *-- Необходимое изменение для отображения дат!
         aDataArray[lJ, lI] = IIF(VarType(pArray[lI, lJ])=='D', DtoC(pArray[lI, lJ]), pArray[lI, lJ])
      EndFor 
   EndFor 
	  
   *-- Определяем диапазон по массиву
   oRange = poSheet.getCellRangeByPosition(pCol,pRow,pCol+nCols- 1 ,pRow+nRows- 1 )
   TRY
      oRange.SetDataArray(@aDataArray)
   CATCH
   ENDTRY
ENDPROC
По работе OOo + VFP приводилась целая куча интересных примеров в решениях http://www.foxclub.ru/sol] и на форуме http://forum.foxclub.ru/list.php?29] .
Воспользуйтесь поиском!
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Кто-нибудь по-русски в опенэксель сохранял?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]