From word to fastreport

  • Форум A4on.TV и ПО «Атирра» »
  • Программный продукт «Атирра» »
  • Дополнения »
  • Импорт документов MS Office в дизайнер отчетов Fast Report

Тема: Импорт документов MS Office в дизайнер отчетов Fast Report  (Прочитано 8956 раз)

Утилита импорт документов MS Office в дизайнер отчетов Fast Report.
утилита FRIMPORT
Облегчит вам создание новых отчетов для ПО «Атирра»
Вы легко сможете перевести ваши формы Excel и Word в формат Fast Report

Пример использования

http://www.youtube.com/v/lTVd_LuR2HU

Автор утилиты: Михаил Ларин

« Последнее редактирование: Марта 20, 2013, 10:34:10 от Шумко Дмитрий »


Записан


  • Форум A4on.TV и ПО «Атирра» »
  • Программный продукт «Атирра» »
  • Дополнения »
  • Импорт документов MS Office в дизайнер отчетов Fast Report

Skip to forum content

My Visual Database

A Simple Solution for Creating Databases

You are not logged in. Please login or register.

Active topics Unanswered topics

Pages 1

You must login or register to post a reply

1 2017-11-28 07:46:48 (edited by mcsimm 2017-11-28 08:10:51)

  • mcsimm
  • mcsimm
  • Member
  • Offline
  • From: Братск, Россия (Bratsk Russia)
  • Registered: 2017-08-16
  • Posts: 34

Topic: Импорт шаблона документа в Fast Report

Добрый день!
В процессе изучения MVDB заинтересовался возможностью создания отчета в Fast Report из уже имеющейся формы документа, например MS Word или Excel. По форумам нашёл утилиту, которая позволяет это сделать. Точнее, делается в два этапа:
1) Сначала документ надо сохранить в формате XPS
2) Затем уже преобразовать в *.FR3
У утилиты есть, естественно, и некоторые недостатки:
1) XPS нужен только версии 1.0. Тот, что делает Office 2007 или виртуальный принтер XPS в Windows 10 уже не подходит, пришлось мне поднять в виртуалке Windows XP и установить XPS Essentials Pack с сайта Майкрософт.;
2) Шрифт в экспорте задаётся только один;
3) Требуется всё-таки окончательная «доработка напильником» полученного документа.
Но это всё-же некритичные проблемы, программа достаточно хорошо справляется даже со сложным форматированием. Делал ли автор после этой первой бэты другие версии программы — неизвестно (я не нашёл, как и имени самого автора).
Прилагаю архив с этой программой к сообщению.

Нашёл здесь https://www.fastreport.ru/ru/forum/inde … topic=6326

2 Reply by mcsimm 2017-11-28 08:27:22

  • mcsimm
  • mcsimm
  • Member
  • Offline
  • From: Братск, Россия (Bratsk Russia)
  • Registered: 2017-08-16
  • Posts: 34

Re: Импорт шаблона документа в Fast Report

Ещё один способ, без использования сторонних утилит, тоже с недостатками, через объект RichTextEdit
https://helpdesk.freshoffice.ru/hc/ru/a … %B8%D1%8F-

3 Reply by DriveSoft 2017-11-28 10:10:07

  • DriveSoft
  • DriveSoft
  • Administrator
  • Offline
  • Registered: 2014-02-14
  • Posts: 10,294

Re: Импорт шаблона документа в Fast Report

Posts: 3

Pages 1

You must login or register to post a reply


parle



Сообщ.
#14

,
24.12.06, 18:56

    Junior

    *

    Рейтинг (т): 7

    jack128, если не в лом, подскажите, как Вы это делаете. У меня отчет в Excel — задача вторичная по отношению к БД, но скорость передачи весьма удручает. Передаю из основной и нескольких подчиненных таблиц, т.е. одной главной записи соответствуют несколько подчиненных. Инструментом пользоваться нужно уметь, слов нет. Подскажите, как,-хотя бы направление.

    Теперь по фасту.
    1.Я писал уже, что для передачи шаблон д.б. заготовлен заранее. В принципе, и это обойти можно, т.к. отчет в фасте — это нечто XML-подобное, но все же лучше его заготовить.
    2.memo-поля с текстом перегнать довольно легко — нужно просто (пока) запомнить их имена.
    3.Для заполнения полей в detail band из таблиц БД удобно пользоваться виртуальной таблицей. Наверное, они в разных пакетах есть, я пользуюсь vttable из компонентов библиотеки SDAC (это — компоненты для работы с mssql).
    Moжно взять таблицы AbsolutDatabase, чтобы не связываться с BDE.
    4.Если перегнать из БД в Excel — не проблема даже с учетом моего не-слишком-умения-применения-инструмента, то и обратная задача — тоже не проблема.Загоняем из ячеек Excel в свою таблицу.
    5.А загнав данные в таблицу — просто перестроить отчет по шаблону.При этом отдельные записи (заголовки и т.п., не входящие в таблицу) перегнать через механизм, что я приводил — т.е.
    m1:=(frxReport1.findobject(‘frmLabname’) as TfrxMemoView); m1.text:=nameoflab;
    тут у меня frmLabName — имя поля в отчете, а m1 — внутренняя типа TfrxMemoView.
    NameOfLab — какая-то строка.

    Недостатки — очевидны. Перегоняешь не какую попало таблицу Excel, а таблицу определенной формы. Правильнее будет сказать — просто перестраиваешь отчет. Тогда можно перестроить и чарт, если он включен в отчет. Тут, ведь, результат важен — вышло — не вышло, а отсутствие чистоты подхода вторично. А для чистоты подхода уже нужно драконить весь формат отчета, это с точки зрения затрат времени не вполне оправдано, хоть и само по себе интересно.

    Таким же образом, кстати, можно выкусить из отчета FastReport табличные данные — все столбцы под одним своим именем, остается их найти и, скажем,- в файл.
    Пример сейчас не приведу — эта задача у меня на работе.

    Еще раз прошу просвятить насчет передачи в Excel. Завтра на работе буду — напишу, как я это вымучиваю. У меня там, правда, перед передачей каждой строки — кучища проверок, вычислений номеров ячеек, объединений, проверок на Not VarIsNull для всех строк и их объединения(а иначе, зараза, ругается при преобразовании в строку, если поле в mssql нулевое). М.б., из-за этого тормозит. А «Весь лист» — не врубаюсь. Где его взять-то, лист, если заранее даже не знаешь, есть ли вообще в подчиненной таблице записи и сколько их там. :'(

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    
            private void btn_FormActMO_Click(object sender, EventArgs e) // Формирование акта МО
            {
                Fill();
                GetCheckedValue();
                report1.Load("ActMO.frx");
                report1.SetParameterValue("NumActMO", txtbx_NumActMO.Text.ToString()); // номер акта МО
                report1.SetParameterValue("DateActMO", dateTP_DateActMO.Value.Date.ToLongDateString()); // Дата акта МО
                report1.SetParameterValue("FIO", txtbx_FIO.Text.ToString()); //  ФИО освидетельствуемого
                report1.SetParameterValue("dateBirthday", dateTP_DataBirthday.Value.Date.ToShortDateString()); // Дата рождения
                report1.SetParameterValue("Adress", txtbx_Adress.Text.ToString()); // Адрес места жительства
                report1.SetParameterValue("InfoPerson", txtbx_Info.Text.ToString()); // Сведения заполнены на основании
                report1.SetParameterValue("BasisForMO", txtbx_InfoMO.Text.ToString()); // Основание для МО
                report1.SetParameterValue("MedPodrazdelenie", MedPodrazdelenieName); // Наименование структурного подразделения
                report1.SetParameterValue("DateBeginMO", dateTP_DateBeginMO.Value.ToString("dd.MM.yyyy HH:mm")); // Дата и точное время начала МО
                report1.SetParameterValue("MedWorker", lblMedWorker.Text.ToString()); // Кем освидетельствован
                report1.SetParameterValue("Appearance", Get_Appearance.ToString()); // Внешний вид освидетельствуемого
                report1.SetParameterValue("Complaints", Get_Complaints.ToString()); // Жалобы на свое состояние
                report1.SetParameterValue("OtherComplaints", txtbx_Complaints.Text.ToString()); // Жалобы другое
     
                report1.SetParameterValue("ChangeMentality", Get_ChangeMentality); // Изменения психической деятельности
                report1.SetParameterValue("SchulteTest", Get_Schulte.ToString()); // Результат пробы Шульте
     
                report1.SetParameterValue("VegSosReaction", VegSosReactionName); // 9. Вегетативно-сосудистые реакции
                report1.SetParameterValue("Eyes", Get_Eyes.ToString()); // Зрачки
                report1.SetParameterValue("ReactionLight", ReactionLightName); // Реакция на свет
                report1.SetParameterValue("Sklers", SklersName); // Склеры
                report1.SetParameterValue("Nistagm", NistagmName); // Нистагм
     
                // 10. Двигательная сфера
                report1.SetParameterValue("Speech", Get_Speech.ToString()); // Речь
                report1.SetParameterValue("Walking", Get_Walking.ToString()); // Походка
                report1.SetParameterValue("StabilityRomberg", StabilityRombergName); // Устойчивость в позе Ромберга
                report1.SetParameterValue("FingerNose", FingerNoseName); // Точность выполнения координационных проб
                report1.SetParameterValue("ResultTashena", ResultTashenaName); // результат пробы Ташена
     
                report1.SetParameterValue("NevousSystemDisease", NervousSystemDiseaseName); // 11. Наличие заболеваний нервной системы
                report1.SetParameterValue("OtherNSD", txtbx_NervousSystemDisease.Text.ToString()); 
                report1.SetParameterValue("InfoUseDrugs", InfoUseDrugsName); // 12. Сведения о последнем употреблении алкоголя, лекарственных средств
                report1.SetParameterValue("OtherIUD", txtbx_InfoUseDrugs.Text.ToString());
     
                //13. Наличие алкоголя в выдыхаемом воздухе освидетельствуемого:
                report1.SetParameterValue("TimeFirst", dateTP_TimeFirstMO.Value.ToShortTimeString()); // 13.1 Время первого исследования
                report1.SetParameterValue("Instruments", lblMedInstruments.Text); // 13.1 Прибор первого исследования
                if (chckbx.Checked)
                {
                    report1.SetParameterValue("Info2", chckbx.Text);
                }
                else
                {
                    report1.SetParameterValue("TimeSecond", dateTP_TimeSecondMO.Value.ToShortTimeString()); // 13.2 Время второго исследования
                    report1.SetParameterValue("Instruments2", lblMedInstruments2.Text); // 13.2 Прибор второго исследования
                }
           
                report1.SetParameterValue("ResultsToxic", txtbx_ResultsToxic.Text); // 13.2 Результаты химико-токсических исследований
                report1.SetParameterValue("TimeToxic", TimePicker_RezultToxic.Value.ToString("HH:mm"));
     
     
                report1.SetParameterValue("OtherInfo", txtbx_OtherInfo.Text.ToString()); // 14. Другие данные МО
     
                report1.SetParameterValue("DateTimeEndMO", dateTP_DateTimeEndMO.Value.ToString("dd.MM.yyyy HH:mm")); // 15. Дата и точное время окончания МО
                report1.SetParameterValue("MedResult", MedResultsName); // 16. Медицинское заключение
                report1.SetParameterValue("DateMedResults", dateTP_DateMedResults.Value.ToShortDateString()); // 17. Дата медицинского заключения
     
                report1.Show();
     
            }

    Понравилась статья? Поделить с друзьями:
  • From word to ebook
  • From word to deeds
  • From word to deed
  • From word to clean html
  • From word doc to jpg