Экспорт в Microsoft Excel (много)

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Экспорт в Microsoft Excel (много)

Сообщение Yufil »

За свою карьеру программиста выводил в Excel:
через DDE;
через OLE напрямую;
через ActiveX Formula One;
через ActiveX MS Office Spreadsheet ( может быть, ошибаюсь в названии. Была такая)
через файл db3;
через файл HTML;
экспортируя отчёт List & Label;
создавая в Буфере обмена таблицу и вставляя в Excel;

Как можно ещё извратиться ?
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7327
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Экспорт в Microsoft Excel (много)

Сообщение Игорь Столяров »

Yufil писал(а): 08 Ноябрь 2017, 13:21Как можно ещё извратиться ?
- Есть неплохая библиотека EasyExcel (но за гроши);
- Недавно KREATOR научил великолепному по скорости методу создания XLSX отчётов через XML.
За теми кто отстал - не возвращаться. (С) Кодекс
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Экспорт в Microsoft Excel (много)

Сообщение Yufil »

Это риторический вопрос был, cейчас совсем другими вещами занимаюсь. Но если потребуется - быстро слабаю отчёт на L&L или шлёпну отчёт через питоновский xlsxwriter.
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Экспорт в Microsoft Excel (много)

Сообщение kreator »

Очередная проблема с OLE Excel. Есть команда:

Код: Выделить всё

LOC:OLE{'Selection.Format.Fill.ForeColor.Transparency'} = 0.8
На одних компах работает, на других нет. Проблема в нецелом значении. Целое работает всегда. Проблема с вещественными числами есть и в других командах. Собрали немного статистики. От версии офиса не зависит (посмотрели 2010 и 2007). Даже есть такое - Офис не только одной версии, даже одного билда, на одном компе работает, на другом нет. Операционка - везде Win7-64.
И риторический вопрос - где собака порылась? :mrgreen:
We are hard at work… for you. :)
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Экспорт в Microsoft Excel (много)

Сообщение RaFaeL »

В запятой? А точнее в региональных настройках?
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Экспорт в Microsoft Excel (много)

Сообщение kreator »

ХЗ. Запятую Кларион не пропустит. Региональные настройки проверили - нет разницы между компами, где работает и где нет. Сейчас дома на 2007 Excel'е попробовал сделать макрос по рисованию прямоугольника, хотел посмотреть - может по другому сделать синтаксис. Так вот - макрос пустой. :?
We are hard at work… for you. :)
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Экспорт в Microsoft Excel (много)

Сообщение Дед Пахом »

kreator писал(а): 24 Ноябрь 2017, 16:25Код: Выделить всёLOC:OLE{'Selection.Format.Fill.ForeColor.Transparency'} = 0.8
А вот так?

Код: Выделить всё

LOC:OLE{'Selection.Format.Fill.ForeColor.Transparency=8/10'} 
Или так:

Код: Выделить всё

LOC:OLE{'Selection.Format.Fill.ForeColor.Transparency'}='8/10' 
С уважением, ДП
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Экспорт в Microsoft Excel (много)

Сообщение gopstop2007 »

kreator писал(а): 24 Ноябрь 2017, 19:33 ХЗ. Запятую Кларион не пропустит. Региональные настройки проверили - нет разницы между компами, где работает и где нет. Сейчас дома на 2007 Excel'е попробовал сделать макрос по рисованию прямоугольника, хотел посмотреть - может по другому сделать синтаксис. Так вот - макрос пустой. :?
а разве в макросе не так?

Код: Выделить всё

   With Selection.Format.Fill  
       .Visible = msoTrue  
       .ForeColor.RGB = RGB(85, 142, 213)  
       .Transparency = 0.5  
       .Solid  
   End With   
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Экспорт в Microsoft Excel (много)

Сообщение kreator »

gopstop2007 писал(а): 24 Ноябрь 2017, 20:45 а разве в макросе не так?
В макросе так. Только в Excel 2010. А в 2007 что-то ничего макрос не пишет. Причём попробовал и на работе и дома.
Дед Пахом писал(а): 24 Ноябрь 2017, 19:40 А вот так?

Код: Выделить всё

LOC:OLE{'Selection.Format.Fill.ForeColor.Transparency=8/10'}
Пробовал вот так:

Код: Выделить всё

LOC:OLE{'Selection.Format.Fill.ForeColor.Transparency=0.8'} 
Не работает. Но и не должно.
Дед Пахом писал(а): 24 Ноябрь 2017, 19:40 Или так:

Код: Выделить всё

LOC:OLE{'Selection.Format.Fill.ForeColor.Transparency'}='8/10'
Попробую в понедельник. Но вот такой код не заработал:

Код: Выделить всё

LOC:OLE{'Selection.Format.Fill.ForeColor.Transparency'}='0.8'
Какая-то хрень с настройками Офиса. То что мы собрали статистику - работает/не работает - 50/50. Даже если найдём причину, это нам мало поможет. Проверить сотни компов и переставить на них Офис нереально. Пытаемся поставить костыль.
Конкретная задача решаемая. В задаче полупрозрачные прямоугольники закрывают ячейки с датами, показывая процент выполненной работы. Но ячейка может быть закрыта частично. Как всегда решили схалявить. Придётся разбивать сутки на несколько ячеек, их объединять и красить сами ячейки.
И генеральный путь - отказываться от OLE.
We are hard at work… for you. :)
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Экспорт в Microsoft Excel (много)

Сообщение gopstop2007 »

kreator писал(а): 25 Ноябрь 2017, 13:22 В макросе так. Только в Excel 2010. А в 2007 что-то ничего макрос не пишет. Причём попробовал и на работе и дома.
Сбросьте весь макрос или excel лист с макросом.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Ответить