Экспорт в Excel, как улучшить форматирование

отредактировано 17:24 Раздел: FastReport 4.0
Добрый день.

Загрузил новую версию, но увы качество экспорта отчета в Excel на прежнем низком уровне. 1С гораздо корректнее экспортит. Может можно что-то сделать и как то улучшить. Прикладываю результирующий файл, очень не удобно, что столбцы некорректно объединяются.

Комментарии

  • отредактировано 17:24
    У меня, к сожалению, не ответ, а та же проблема. По этой причине я зашла на форум. Я удивляюсь, кто-нибудь вообще пользуется экспортом в Excel?? Это же авсолютно невозможно использовать :) В основном, клиенты посльзуются экспортом, чтобы продолжить кое-какую работу в Excel файле, например применить формулу суммировки некоторых столбцов (данных). А как это сделать в фастрепортовском экспортном файле, если там сплошь и рядом объединенные ячейки?? (То есть одно число представлено в нескольких ячейках, а не в одной.)
    Очень прошу откликнуться всех, кто как решает эту проблему!!! Иначе я просто не вижу смысла использовать фаст репорт, поскольку нашим клиентам постоянно надо выгрузить отчет в эксел для последующей обработки.
  • отредактировано 17:24
    Nadya_rus написал: »
    У меня, к сожалению, не ответ, а та же проблема. По этой причине я зашла на форум. Я удивляюсь, кто-нибудь вообще пользуется экспортом в Excel?? Это же авсолютно невозможно использовать :) В основном, клиенты посльзуются экспортом, чтобы продолжить кое-какую работу в Excel файле, например применить формулу суммировки некоторых столбцов (данных). А как это сделать в фастрепортовском экспортном файле, если там сплошь и рядом объединенные ячейки?? (То есть одно число представлено в нескольких ячейках, а не в одной.)
    Очень прошу откликнуться всех, кто как решает эту проблему!!! Иначе я просто не вижу смысла использовать фаст репорт, поскольку нашим клиентам постоянно надо выгрузить отчет в эксел для последующей обработки.

    В данном случае Фастрепорт уступает другой очень удобной компоненте пр-во AfalinaSoft. Проект к сожалению , по-моему временно или навсегда остановился, но можно найти исходники, или инсталяторы для компоненты XLReport, ProOptionPack. Но ФастРепорт очень мощный в других вещах.
  • gpigpi
    отредактировано 17:24
    Nadya_rus, alolya
    При построении отчётов придерживаетесь данных рекомендаций?
    написал:
    Необходимо отметить, что качество экспорта в тот или иной формат сильно зависит от грамотной разработки шаблона отчета. FastReport предлагает избыточное количество возможностей для манипуляций объектам при создании шаблона отчета, что дает заметное преимущество при быстрой разработке любых отчетов и последующей их печати на принтере. Отпечатанный документ будет выглядеть точно так же, как и на экране, что и является основной целью применения генератора отчетов FastReport. Обратная сторона такой свободы разработки – сложность экспорта полученного документа в различные форматы данных, имеющие свои, иногда довольно большие, ограничения в представлении информации. В этом разделе будут даны специальные рекомендации по разработке отчетов, предназначенных для экспорта в другие форматы данных.
    Очень многие форматы используют табличное представление данных. В первую очередь речь идет о таких форматах как HTML, XLS, XML, RTF, CSV. Никакие пересечения или наслоения ячеек в подобных форматах недопустимы (если брать в рассмотрение именно табличную разметку, это касается HTML и RTF), в отличии от свободы в процессе разработки шаблона отчета в дизайнере FastReport. Фильтры экспорта, как правило, максимально учитывают эти требования при переносе объектов из отчета FastReport в необходимый формат. Это реализуется при помощи специальных алгоритмов учета пересечений объектов и оптимального их расположения. В местах пересечений объектов возникают новые столбцы и строки в результирующей таблице. Это необходимо для сохранения точного позиционирования переносимых объектов FastReport и для получения максимального сходства результата и оригинального отчета. Большое количество пересекающихся объектов в отчете приводит к росту числа столбцов и строк в таблице, что усложняет дальнейшее использование результирующего файла и замедляет процесс экспорта
    alolya
    написал:
    Прикладываю результирующий файл, очень не удобно, что столбцы некорректно объединяются.
    Файла нет. Кроме результирующего файла желательно приложить шаблон отчёта (fr3) и сохранённые из превью страницы (fp3)
  • отредактировано 17:24
    alolya написал: »
    Добрый день.

    Загрузил новую версию, но увы качество экспорта отчета в Excel на прежнем низком уровне. 1С гораздо корректнее экспортит. Может можно что-то сделать и как то улучшить. Прикладываю результирующий файл, очень не удобно, что столбцы некорректно объединяются.

    На самом деле при грамотной разработке шаблона - выгружается все корректно (в плане объединения столбцов и ячеек). Это уже проверено на сотне отчетов минимум :) Например делаешь такое условие (для себя) что ячейки должны быть одной высаты (или кратные ей). Столбцы рисуешь себе при помощи механизма fast-report-а (выставляешь направляющие щелкая на левую линейку и не отпуская клавиши мыши тащишь на область отчета) Это будут направляющие твоих основных данных. Т.е. рисуешь себе столбцы твоего будущего отчета! Вот теперь правая и левая граница всех ячеек не должна быть между этими направляющими (только по линиям). Вот тогда и выгрузка будет идти четко !!! Вот для наглядного примера:

    alolya написал: »
    При xml експорте в эксель:

    1. На столбце стоит тип числовой, формат %2.2f. Проблема возникает с разделителями, на разных машинах - разные региональные настройки.
    И при экспорте вместо числа скажем 100 - ексель понимает 10000 т.е. числа больше на 2 порядка.
    корректно будет происходить выгрузка.

    2. Если поставить формат числа %g, то числа эксель понимает как 100, (добавляет разделитель к концу числа).

    3. Это уже пожелание и соответственно вопрос можно ли это реализовать ?
    Добавить еще один тип формата: формула; Ексель понимает тип ячейки - формула; И в екселе есть такие функции, которые довольно сложно реализовать самому. Например функция ЧИСТВНДОХ (чистый внутренний доход). Зато при выгрузке в ексель можно было-бы задействовать данный механизм. И сформировать формулу, которая посчитает необходимое значение при экспорте!

    Вопросы к сожалению остались без внимания.
  • отредактировано 17:24
    Stiffman написал: »
    Столбцы рисуешь себе при помощи механизма fast-report-а (выставляешь направляющие щелкая на левую линейку и не отпуская клавиши мыши тащишь на область отчета) Это будут направляющие твоих основных данных. Т.е. рисуешь себе столбцы твоего будущего отчета! Вот теперь правая и левая граница всех ячеек не должна быть между этими направляющими (только по линиям). Вот тогда и выгрузка будет идти четко
    Судя по данному ответу есть надежда :-) И в связи с этим у меня есть вопросы:
    1. Что такое мезанизм fast-report-а? Извините, объяснение в скобке, то что вы написали мне не совсем понятно), я скачала всю документацию по fast-report, но там не нашла про этот механизм, может поясните подробнее или ссылку дайте где описан данный механизм. Честно говоря, я не разобралась когда я добавляю новое поле (объект), то в каком-то случае у меня появляется "выравнивающая линия объектов", но в каких то случаях нет. Причем иногда только горизонтальная, иногда обе. Как этим пользоваться грамотно по максимуму?
    2. В отчетах у нас (в компании где я работаю) принято (более удобочитаемо) если текстовые поля выровнены Align Left, а числовые Align Right. И свойсто AutoWidth делаем True в числовых полях, поскольку некоторые клиенты оперируют с большими числами. Как в этом случае поступать? Ведь в данной ситуации в зависимости от данных может получиться лишние ячейки, поскольку смещение идет в разных направлениях?
    3. Насчет заголовка. У нас во всех отчетах заголовок расположен по центру, на другой линии - название компании - выровнено по центру, номер страницы расположен справа и выровнен направо, дата находится слева и выровнена налево, то для внешенего вида и печати это смотрится хорошо, но при экспорте создает много дополнительных ячеек, причем отличных от данных отчета. Что в этом случае можете посоветовать сделать? И вообще что можно посоветовать, чтоб отчет хорошо смотрелся на экране(принтере) и в то же время правильно экспортировался?
    Заранее благодарна.
  • отредактировано November 2008
    совет тут один, и он уже был озвучен в #4 сообщении - точное выравнивание ячеек относительно друг друга.

    выравнивание внутри текстового поля не имеет значение.
    имеет значение положение и размер самих текстовых полей.
    AutoWidth - усугубляет положение.

    механизм fast-report-а - это выносные линии. если нажать на сантиметровую линейку (которые по краям) и потянуть - она появится.

    "выравнивающая линия объектов" появляется когда объекты выровнены друг против друга.
  • отредактировано 17:24
    написал: »
    механизм fast-report-а - это выносные линии. если нажать на сантиметровую линейку (которые по краям) и потянуть - она появится.
    спасибо за ответ!!! :) Буду равнять поля. А насчет fast-report-а я конечно дико извиняюсь, но не могли бы вы указать где можно про это почитать, поскольку я действительно ничего про это не слышала. Или здесь подробнее поясните, плз. Я быстро учусь, вот вы сказали потянуть, я потянула, и действительно она появилась, но вот в чем облегчение не вижу. :) Как ею оперировать?
    И еще один вопросик - возможно ли удачно выровнять и экспортировать отчет, в котором есть subreport-ы?
    Заранее благодарна!
  • отредактировано 17:24
    написал:
    Как ею оперировать?
    Теперь объекты будут к ней "прилипать".
    написал:
    И еще один вопросик - возможно ли удачно выровнять и экспортировать отчет, в котором есть subreport-ы?
    теже самые принципы. посмотрте в демке отчет с subreports - без проблем экспортируется.
  • отредактировано 17:24
    А кто подскажет ,как насчет ориентации текста в заголовке например таблицы. В отчете фаста у меня в заголовках текст повернут на 90 градусов, а при экспорте он становится в 0 градусов, то есть горизонтально - как побороть сие?
  • отредактировано 17:24
    Попробуй поставить 89 градусов.
    написал:
    Вопросы к сожалению остались без внимания.
    В следующих версиях FR будет экспорт в бинарный xls. Я уделю больше внимания форматированию чисел, раз это так важно. Пожелание с формулами в MS Excel реализовать непросто. Если тебе это очень нужно, то открой тикет и в будущем я добавлю поддержку формул. Конечно, будет лучше если без формул можно обойтись :)
  • отредактировано 17:24
    Draeden написал: »
    Попробуй поставить 89 градусов.
    Не помогает, потому как 89 градусов ставлю и в заголовке вообще исчезают надписи, если вертикальное выравнивание стоит по левому краю.
    Экспорт ставит все в 0 градусов и заголовки таблицы становятся горизонтально....у кого еще будут варианты
  • отредактировано 17:24
    Ах да, я вспомнил эту "фичу" про поворот текста. MS Excel и OpenOffice по разному отображают повернутый текст. Если текст повернуть хотя бы на 45 градусов, то в OpenOffice нарисует нормально повернутый текст, а вот MS Excel нарисует непонятно что: текст будет сильно растянут по горизонтали причём большая часть текста выйдет за границы ячейки.
  • отредактировано 17:24
    Draeden написал: »
    Ах да, я вспомнил эту "фичу" про поворот текста. MS Excel и OpenOffice по разному отображают повернутый текст. Если текст повернуть хотя бы на 45 градусов, то в OpenOffice нарисует нормально повернутый текст, а вот MS Excel нарисует непонятно что: текст будет сильно растянут по горизонтали причём большая часть текста выйдет за границы ячейки.
    Кстати потом в икселе ставлю ориентацию текста - все нормально...но это же не дело
  • отредактировано 17:24
    В бинарном xls такой проблемы не будет.
  • отредактировано 17:24
    Draeden написал: »
    В бинарном xls такой проблемы не будет.
    Что вы имеете ввиду?
  • отредактировано 17:24
    Строка повернутая на 90 градусов, после экспорта будет как положено вертикальной.
  • SafonovSafonov Воронеж
    отредактировано 17:24
    Здравствуйте.

    Возникает проблема при экспорте на разные страницы Excel. Ширина стоблцов рассчитывается для всего отчета. В результате возникают "лишние" колонки.
    Нельзя ли вычисление ширины колонок делать отдельно для каждого листа ?

    Спасибо за ответ.
  • отредактировано 17:24
    Draeden написал: »
    Строка повернутая на 90 градусов, после экспорта будет как положено вертикальной.
    Так а что для этого необходимо?
  • отредактировано 17:24
    написал:
    Возникает проблема при экспорте на разные страницы Excel. Ширина стоблцов рассчитывается для всего отчета. В результате возникают "лишние" колонки.
    Нельзя ли вычисление ширины колонок делать отдельно для каждого листа ?
    Ответ в тикете.
    написал:
    Так а что для этого необходимо?
    Написать код экспортёра :)
  • отредактировано 17:24
    Draeden написал: »
    Ответ в тикете.

    Написать код экспортёра :)
    Ну если писать код - то можно тупо обращаться к ячейкам и выставлять их форматирование при экспорте, я имел ввиду - это лечится или нет в фастрепорте?
  • отредактировано 17:24
    Что значит "лечится" ? Если Вы имеете ввиду исправление ошибки в коде экспорта, то да, лечится, как и любая другая ошибка в коде. Если же Вы говорите про выставление каких то особых свойств в дизайнере FR, то ответ нет.
  • отредактировано 17:24
    Draeden написал: »
    Что значит "лечится" ? Если Вы имеете ввиду исправление ошибки в коде экспорта, то да, лечится, как и любая другая ошибка в коде. Если же Вы говорите про выставление каких то особых свойств в дизайнере FR, то ответ нет.
    Ну а тогда,так сказать, кто должен или может исправить это, можно конечно и самому покопаться, но все таки продукт фирмы...
  • отредактировано 17:24
    Два имеющихся экспортёра в xls (xml и ole) будут заменены новым экспортёром (biff8) который появится очень скоро. Я не вижу смысла копаться в исходных кодах старых экспортёров если они всё равно будут заменены.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.