YARG - рд░рд┐рдкреЛрд░реНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдУрдкрди-рд╕реЛрд░реНрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА

рд▓рдЧрднрдЧ рд╣рд░ рдбреЗрд╡рд▓рдкрд░ рдЬреЛ рд╕реВрдЪрдирд╛ рдкреНрд░рдгрд╛рд▓реА рдмрдирд╛рддрд╛ рд╣реИ, рд╡рд┐рднрд┐рдиреНрди рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рдФрд░ рдореБрджреНрд░рд┐рдд рд░реВрдкреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╣рдорд╛рд░реЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рд╡рд┐рдХрд╕рд┐рдд рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рднреА рд╕рд╣реА рд╣реИ ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрд┐рд╕ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЙрд╕рдореЗрдВ 264 рд╣реИрдВред рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рд╣рд░ рдмрд╛рд░ рд░рд┐рдкреЛрд░реНрдЯ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рддрд░реНрдХ рдХреЛ рди рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ (рдХрдЯ рдХреЗ рддрд╣рдд рд╕рдордЭрд╛ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдореМрдЬреВрджрд╛ рд╡рд╛рд▓реЗ рд╣рдореЗрдВ рдлрд┐рдЯ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реБрдП)ред рдЗрд╕реЗ YARG рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ - рдлрд┐рд░ рднреА рдПрдХ рдФрд░ рд░рд┐рдкреЛрд░реНрдЯ рдЬреЗрдирд░реЗрдЯрд░ред

YARG рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:



рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ CUBA рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рдЗрдВрдЬрди рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдЗрд╕реЗ 2010 рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрднреА рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЗрд╕реЗ рдЦреЛрд▓рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЕрдкрд╛рдЪреЗ 2.0 рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдХреЛрдб GitHub рдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред

рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╕рдореБрджрд╛рдп рдХрд╛ рдзреНрдпрд╛рди рдЗрд╕ рдУрд░ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рд╣реИред





рдкреБрд╕реНрддрдХрд╛рд▓рдп рдПрдХ рдбреЗрдЯрд╛ рдирдореВрдиреЗ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдФрд░ рдПрдХ рддреИрдпрд╛рд░ рд░рд┐рдкреЛрд░реНрдЯ (рдбреЗрдЯрд╛ рдкрд░рдд рдФрд░ рдкреНрд░рд╕реНрддреБрддрд┐ рдкрд░рдд) рдореЗрдВ рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рд░рд▓ рд╡рд┐рдЪрд╛рд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдбреЗрдЯрд╛ рдЪрдпрди рд╡рд┐рднрд┐рдиреНрди рд▓рд┐рдкрд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рди рд╕реАрдзреЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╢реЗрд╖ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдпрд╣ рд╣рд╛рде рдкрд░ рдУрдкрди рдСрдлрд┐рд╕ рдпрд╛ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдСрдлрд┐рд╕ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред



рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рддрдерд╛рдХрдерд┐рдд рдмреИрдВрдб рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдПрдХ рдкрдЯреНрдЯреА рдбреЗрдЯрд╛ рд╕реЗрдЯ рдФрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдПрдХ рдХреНрд╖реЗрддреНрд░ рд╣реИ рдЬрд╣рд╛рдВ рдпрд╣ рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ (рдбреЗрдЯрд╛ рдкрд░рдд рдФрд░ рдкреНрд░рд╕реНрддреБрддрд┐ рдкрд░рдд рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ)ред



рдЖрдЗрдП рдирдорд╕реНрддреЗ рд╡рд┐рд╢реНрд╡ рд╢реИрд▓реА рдореЗрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред



рдмрд╣реБрдд рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИ



рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдХрдВрдкрдиреА рд╣реИ рдФрд░ рд╣рдореЗрдВ рдХрдВрдкрдиреА рдХреЗ рд╕рднреА рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдХрд░реНрдордЪрд╛рд░реА рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред

рд╣рдо рд╕реНрдЯрд╛рдл рдирд╛рдо рдХреА рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рд╕реНрдЯреНрд░рд┐рдк рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рд╣рдо рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдбреЗрдЯрд╛ SQL рдХреНрд╡реЗрд░реА рджреНрд╡рд╛рд░рд╛ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
select name, surname, position from staff
      
      





рдЬрд╛рд╡рд╛ рдХреЛрдб

 ReportBuilder reportBuilder = new ReportBuilder(); ReportTemplateBuilder reportTemplateBuilder = new ReportTemplateBuilder() .documentPath("/home/haulmont/templates/staff.xls") .documentName("staff.xls") .outputType(ReportOutputType.xls) .readFileFromPath(); reportBuilder.template(reportTemplateBuilder.build()); BandBuilder bandBuilder = new BandBuilder(); ReportBand staff= bandBuilder.name("Staff") .query("Staff", "select name, surname, position from staff", "sql") .build(); reportBuilder.band(staff); Report report = reportBuilder.build(); Reporting reporting = new Reporting(); reporting.setFormatterFactory(new DefaultFormatterFactory()); reporting.setLoaderFactory( new DefaultLoaderFactory().setSqlDataLoader(new SqlDataLoader(datasource))); ReportOutputDocument reportOutputDocument = reporting.runReport( new RunParams(report), new FileOutputStream("/home/haulmont/reports/staff.xls"));
      
      





рдЕрдЧрд▓рд╛, рд╣рдо рдПрдХ xls- рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдирд╛рдорд┐рдд рдХреНрд╖реЗрддреНрд░ рд╕реНрдЯрд╛рдл рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рдЙрдкрдирд╛рдо рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░рддреЗ рд╣реИрдВред



рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЙрджрд╛рд╣рд░рдг рдиреАрдЪреЗ рдЪрд░реНрдЪрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред



рдереЛрдбрд╝рд╛ рдЗрддрд┐рд╣рд╛рд╕



рдХреБрдЫ рд╕рд╛рд▓ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдЕрдкрдиреА рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╕рд╛рдореВрд╣рд┐рдХ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдПрдХреНрд╕рдПрд▓рдПрд╕ рдФрд░ рдбреАрдУрд╕реА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рддреИрдпрд╛рд░ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛, рд╕рд╛рде рд╣реА рдкрд░рд┐рдгрд╛рдо рдХреЛ рдбреАрдУрд╕реА рдФрд░ рдПрдХреНрд╕рдПрд▓рдПрд╕ рд╕реЗ рдкреАрдбреАрдПрдл рдореЗрдВ рдмрджрд▓рдирд╛ред рд╣рдореЗрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА:

  1. рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд░рд┐рдкреЛрд░реНрдЯ (рдХрдо рд╕реЗ рдХрдо рд░рд┐рдкреЛрд░реНрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ) рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА рдЧрдИ;
  2. рд╡рд┐рднрд┐рдиреНрди рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рд╕рдорд░реНрдерд┐рдд рдбрд╛рдЙрдирд▓реЛрдбрд┐рдВрдЧ рдбреЗрдЯрд╛;
  3. рд╕рдорд░реНрдерд┐рдд рд╡рд┐рднрд┐рдиреНрди рдЯреЗрдореНрдкрд▓реЗрдЯ рдкреНрд░рд╛рд░реВрдк (XLS, DOC, HTML);
  4. рдкреАрдбреАрдПрдл рдХреЛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд░реНрдерд┐рдд;
  5. рдпрд╣ рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓ рдерд╛ (рдЗрд╕рдиреЗ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдирдП рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдкреНрд░рд╛рд░реВрдк рдХреЗ рд▓рд┐рдП рдирдП рддрд░реАрдХреЛрдВ рдХреЗ рддреНрд╡рд░рд┐рдд рдЬреЛрдбрд╝ рдХреА рдЕрдиреБрдорддрд┐ рджреА);
  6. рдЖрд╕рд╛рдиреА рд╕реЗ рд╡рд┐рднрд┐рдиреНрди IoC рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдПрдХреАрдХреГрддред


рдкрд╣рд▓реЗ рддреЛ рд╣рдордиреЗ рдЬреИрд╕реНрдкрд░рд░реАрдкреЛрд░реНрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╡рд╣ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдбреАрдУрд╕реА рд░рд┐рдкреЛрд░реНрдЯ рдХреИрд╕реЗ рдмрдирд╛рдИ рдЬрд╛рдП (рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╢реБрд▓реНрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ), рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рдПрдХреНрд╕рдПрд▓рдПрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдЙрд╕рдХреА рдХреНрд╖рдорддрд╛ рдмрд╣реБрдд рд╕реАрдорд┐рдд рд╣реИ (рдЖрдк рдЧреНрд░рд╛рдлрд╝, рдлрд╝рд╛рд░реНрдореБрд▓реЛрдВ, рд╕реЗрд▓ рдлреЙрд░реНрдореЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗ), рдФрд░ рддреАрд╕рд░рд╛, рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХреМрд╢рд▓ рдФрд░ рд╡рд┐рд╢реЗрд╖ рдЙрдкрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдЬрд╛рд╡рд╛ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдХреЗ рд▓реЛрдбрд┐рдВрдЧ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИред рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рд╛рд░реВрдк рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрдИ рдкреБрд╕реНрддрдХрд╛рд▓рдп рднреА рдереЗ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдПрдХ рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдирд╣реАрдВ рдорд┐рд▓рд╛ред

рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рдПрдХ рдРрд╕рд╛ рддрдВрддреНрд░ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬреЛ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рдПрдХ рд╕рдорд╛рди рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдбреЗрдЯрд╛ рдХреЗ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдФрд░ рд╡рд┐рдзрд┐ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ред



рдкрд╣рд▓рд╛ рдХрджрдо



XLS рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреБрд╕реНрддрдХрд╛рд▓рдп (POI-HSSF, JXLS, рдЖрджрд┐) рдереЗ, рдФрд░ рдпрд╣ рдЙрд╕ рд╕рдордп рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдХреЗ рд░реВрдк рдореЗрдВ Apache POI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдРрд╕реА рд╡рд┐рд╡рд┐рдзрддрд╛ рдХреЗ DOC рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордирд╛рдпрд╛ рдирд╣реАрдВ рдЧрдпрд╛ рдерд╛ред рдмрд╣реБрдд рдХрдо рд╡рд┐рдХрд▓реНрдк рдереЗ: рдУрдкрди рдСрдлрд┐рд╕ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдпрд╛ COM рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ DOC рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП UNO рд░рдирдЯрд╛рдЗрдо - API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред POI-HWPF рдкрд░рд┐рдпреЛрдЬрдирд╛ рддрдм рдЕрдкрдиреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ рдереА (рдпрд╣ рдЕрдм рддрдХ рдирд╣реАрдВ рдЪрд▓реА рд╣реИ рдФрд░ рдЕрдм)ред рд╣рдордиреЗ рдУрдкрди рдСрдлрд┐рд╕ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдЙрди рд▓реЛрдЧреЛрдВ рд╕реЗ рдХрдИ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╕рдореАрдХреНрд╖рд╛рдПрдВ рджреЗрдЦреАрдВ, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдУрдкрди рдСрдлрд┐рд╕ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рднрд╛рд╖рд╛рдУрдВ (рдкрд╛рдпрдерди, рд░реВрдмреА, рд╕реА #) рдХреЗ рд╕рд╛рде рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ред

рдпрджрд┐ POI-HSSF рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдХрдо рдпрд╛ рдЬреНрдпрд╛рджрд╛ рд╕рд░рд▓ рдерд╛ (рдЪрд╛рд░реНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреА рдкреВрд░реА рдХрдореА рдХреЛ рдЫреЛрдбрд╝рдХрд░), рддреЛ UNO рд░рдирдЯрд╛рдЗрдо рдХреЗ рд╕рд╛рде рд╣рдореЗрдВ рдХрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред

  1. рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдордЭрджрд╛рд░ рдПрдкреАрдЖрдИ рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рд┐рд╕реНрдЯрдо рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб (рдкрдВрдХреНрддрд┐ рдХреЛ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд░рдирд╛, рдХреЙрдкреА рдХрд░рдирд╛ рдФрд░ рдЗрд╕реЗ рд╕рд╣реА рд╕реНрдерд╛рди рдкрд░ рдЪрд┐рдкрдХрд╛рдирд╛) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
  2. рдкреНрд░рддреНрдпреЗрдХ рд░рд┐рдкреЛрд░реНрдЯ рдкреАрдврд╝реА рдХреЗ рд▓рд┐рдП, рдУрдкрди рдСрдлрд╝рд┐рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ (рдФрд░ рдореБрджреНрд░рдг рдХреЗ рдмрд╛рдж рдирд╖реНрдЯ рд╣реЛ рдЬрд╛рддреА рд╣реИ)ред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рд╣рдордиреЗ рдмреВрдЯрд╕реНрдЯреНрд░реИрдкрдХреЛрдиреЗрдХреНрдЯрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╕реНрдкреЙрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЬрд▓реНрдж рд╣реА рдпрд╣ рдЖрд╢реНрд╡рд╕реНрдд рд╣реЛ рдЧрдпрд╛ рдХрд┐ рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЗрд╕рдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЬреАрд╡рд┐рдд (рдПрдХ рдЬрдореЗ рд╣реБрдП рд░рд╛рдЬреНрдп рдореЗрдВ) рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ рдпрд╛ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдХреБрдЫ рд╕рдордп рдмрд╛рдж рд╕рд┐рд╕реНрдЯрдо рдзреНрд╡рд╕реНрдд рд╣реЛ рдЧрдпрд╛ред рд╣рдореЗрдВ рдУрдкрди рдСрдлрд┐рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рдирд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рддрд░реНрдХ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдкрдбрд╝рд╛, рдЙрди рд▓реЛрдЧреЛрдВ рдХреА рдЙрдкрд▓рдмреНрдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЬреЙрдбрдХреЙрдиреНрд╕рд░ рд▓рд┐рдЦрд╛ рдерд╛ред
  3. UNO рд░рдирдЯрд╛рдЗрдо (рдФрд░ рдУрдкрди рдСрдлрд┐рд╕ рд╕рд░реНрд╡рд░ рд╕реНрд╡рдпрдВ) рдореЗрдВ рдереНрд░реЗрдб рд╕реБрд░рдХреНрд╖рд╛ рд╕рдорд╕реНрдпрд╛рдПрдБ рд╣реЛрддреА рд╣реИрдВ, рдЬреЛ рдЖрдВрддрд░рд┐рдХ рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг рд╕рд░реНрд╡рд░ рдХреЛ рд╕реНрдерд┐рд░ рдпрд╛ рдЕрдЪрд╛рдирдХ рдмрдВрдж рдХрд░ рд╕рдХрддреА рд╣реИред рдЗрд╕рдХреЗ рдХрд╛рд░рдг рд░рд┐рдкреЛрд░реНрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реБрдИ (рдпрджрд┐ рд░рд┐рдкреЛрд░реНрдЯ рдкреНрд░рд┐рдВрдЯ рдирд╣реАрдВ рд╣реБрдИ, рддреЛ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ)ред рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдЧрддрд┐ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред




Docx4j



рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╣рдордиреЗ рдХреЗрд╡рд▓ XLS рдФрд░ DOC рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ XLSX рдФрд░ DOCX рдХреЛ рднреА рд╕рдорд░реНрдерди рджреЗрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ред рдпрд╣ рд╡рд┐рдХрд▓реНрдк DOCX4J рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрд░ рдЧрд┐рд░рд╛, рдЬрд┐рд╕рдиреЗ рдЙрд╕ рд╕рдордп рддрдХ рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рд╣рд╛рд╕рд┐рд▓ рдХрд░ рд▓реА рдереАред

рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреА рд╕рдВрд░рдЪрдирд╛ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХреНрд╕рдПрдордПрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ) рдХреЛ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдПрдХ рдУрд░, рдпрд╣ рдХреБрдЫ рд╣рдж рддрдХ рдХреЛрдб рдФрд░ рддрд░реНрдХ рдХреЛ рдЬрдЯрд┐рд▓ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реА рддрд░рдл, рдЗрд╕рдиреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рдЕрд╕реАрдорд┐рдд рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ рдЦреЛрд▓ рджреАрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рдЗрд╕ рдкрд░ рдХреЛрдИ рднреА рд╕рдВрдЪрд╛рд▓рди рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛ред

рдПрдХ рдФрд░ рднреА рдЕрдзрд┐рдХ рдЧрдВрднреАрд░ рд▓рд╛рдн рдУрдкрди рдСрдлрд┐рд╕ рдХреА рд╢реБрд░реВрдЖрдд рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП DOCX рд░рд┐рдкреЛрд░реНрдЯ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдереАред



рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЙрджрд╛рд╣рд░рдг



рдорд╛рди рд▓реАрдЬрд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдХрд┐рддрд╛рдмреЛрдВ рдХреА рджреБрдХрд╛рди рд╣реИред рдЖрдЗрдП рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдЬреЛ рдПрдХреНрд╕рдПрд▓рдЖрд░ рдореЗрдВ рд╕реНрдЯреЛрд░ рдХреА рд╕реВрдЪреА рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдЯреЛрд░ рдореЗрдВ рдмреЗрдЪреА рдЧрдИ рдкреБрд╕реНрддрдХреЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред

рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рд╣рдо (рд╕реНрдЯреЛрд░ рдХреЗ рдорд╛рд▓рд┐рдХ) рдЬрд╛рд╡рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рд╣рдорд╛рд░рд╛ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ SQL рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИ, рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рднреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдмрд┐рдХреНрд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реИред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП xls рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рдПрдВред рдирд╛рдорд┐рдд рдХреНрд╖реЗрддреНрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд░рд┐рдкреЛрд░реНрдЯ рдкрдЯреНрдЯрд┐рдпреЛрдВ рдкрд░ рддреБрд░рдВрдд рдзреНрдпрд╛рди рджреЗрдВред



рдлрд┐рд░ рд╣рдо SQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛ рд▓реЛрдбрд┐рдВрдЧ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВред

 select shop.id as "id", shop.name as "name", shop.address as "address" from store shop select book.author as "author", book.name as "name", book.price as "price", count(*) as "count" from book book where book.store_id = ${Shop.id} group by book.author, book.name, book.price
      
      





рдЕрдм рд╣рдореЗрдВ XML рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

 <?xml version="1.0" encoding="UTF-8"?> <report name="report"> <templates> <template code="DEFAULT" documentName="bookstore.xls" documentPath="./test/sample/bookstore/bookstore.xls" outputType="xls" outputNamePattern="bookstore.xls"/> </templates> <rootBand name="Root" orientation="H"> <bands> <band name="Header" orientation="H"/> <band name="Shop" orientation="H"> <bands> <band name="Book" orientation="H"> <queries> <query name="Book" type="sql"> <script> select book.author as "author", book.name as "name", book.price as "price", count(*) as "count" from book where book.store_id = ${Shop.id} group by book.author, book.name, book.price </script> </query> </queries> </band> </bands> <queries> <query name="Shop" type="sql"> <script> select shop.id as "id", shop.name as "name", shop.address as "address" from store shop </script> </query> </queries> </band> </bands> <queries/> </rootBand> </report>
      
      





рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рд░рд┐рдкреЛрд░реНрдЯ рдЪрд▓рд╛рдиреЗ рдкрд░, рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджрд╕реНрддрд╛рд╡реЗрдЬ рдорд┐рд▓рддреЗ рд╣реИрдВ



рдЗрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ, рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рдкрдЯреНрдЯреА рджреВрд╕рд░реЗ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИред рдмреБрдХ рд╕реНрдЯреНрд░рд┐рдк рд╢реЙрдк рд╕реНрдЯреНрд░рд┐рдк рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдЯреЛрд░ рдХреЗ рд▓рд┐рдП рд╣рдо рдЗрд╕рдореЗрдВ рдмреЗрдЪреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдкреБрд╕реНрддрдХреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВред рд╢реЙрдк рдореЗрдВ рдмреБрдХ рд╕реНрдЯреНрд░рд┐рдк рдиреЗрд╕реНрдЯреЗрдб рд╣реИред



рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг



рдЕрдм рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рд╕реНрдЯреЛрд░ рдХреЛ рдПрдХ рдмрдбрд╝рд╛ рдСрд░реНрдбрд░ рдорд┐рд▓рд╛ рд╣реИ рдФрд░ рд╣рдореЗрдВ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдЪрд╛рд▓рд╛рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЖрдЗрдП рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдЬрд┐рд╕рдореЗрдВ DOCX рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдкрд░рд┐рдгрд╛рдо рдкреАрдбреАрдПрдл рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдЧреНрд░реВрд╡реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдмрджрд▓рд╛рд╡ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВрдЧреЗред

 <?xml version="1.0" encoding="UTF-8"?> <report name="report"> <templates> <template code="DEFAULT" documentName="invoice.docx" documentPath="./test/sample/invoice/invoice.docx" outputType="pdf" outputNamePattern="invoice.pdf"/> </templates> <formats> <format name="Main.date" format="dd/MM/yyyy"/> <format name="Main.signature" format="${html}"/> </formats> <rootBand name="Root" orientation="H"> <bands> <band name="Main" orientation="H"> <queries> <query name="Main" type="groovy"> <script> return [ [ 'invoiceNumber':99987, 'client' : 'Google Inc.', 'date' : new Date(), 'addLine1': '1600 Amphitheatre Pkwy', 'addLine2': 'Mountain View, USA', 'addLine3':'CA 94043', 'signature':<![CDATA['<html><body><b><font color="red">Mr. Yarg</font></b></body></html>']]> ]] </script> </query> </queries> </band> <band name="Items" orientation="H"> <queries> <query name="Main" type="groovy"> <script> return [ ['name':'Java Concurrency in practice', 'price' : 15000], ['name':'Clear code', 'price' : 13000], ['name':'Scala in action', 'price' : 12000] ] </script> </query> </queries> </band> </bands> <queries/> </rootBand> </report>
      
      





рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЧреНрд░реВрд╡реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╛рд╣рдЪрд░реНрдп рд╕рд░рдгрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рд▓реМрдЯрд╛рддреА рд╣реИ (рдЕрдзрд┐рдХ рд╕рдЯреАрдХ, рд╕реВрдЪреА <рдорд╛рдирдЪрд┐рддреНрд░ <рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдСрдмреНрдЬреЗрдХреНрдЯ> )ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╕реВрдЪреА рдХрд╛ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдирд╛рдорд┐рдд рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ (рдХреБрдВрдЬреА рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдирд╛рдо рд╣реИ, рдорд╛рди рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ)ред

рдЕрдм рдПрдХ рдЪрд╛рд▓рд╛рди рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рдПрдВред рдКрдкрд░ рджреА рдЧрдИ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╣рдордиреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдирд╛рдо рдФрд░ рдкрддрд╛, рд╕рд╛рде рд╣реА рдЪрд╛рд▓рд╛рди рдХреА рддрд╛рд░реАрдЦ рдбрд╛рд▓ рджреАред

рдЕрдЧрд▓рд╛, рдЙрди рдЙрддреНрдкрд╛рджреЛрдВ рдХреА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдПрдВ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдмрд┐рд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рддрд╛рд▓рд┐рдХрд╛ 2 рдХреЗ рд▓рд┐рдП рдорд╛рд▓ рдХреА рд╕реВрдЪреА рд╕реЗ рдмрдВрдзреЗ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкрд╣рд▓реЗ рд╕реЗрд▓ рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдорд╛рд░реНрдХрд░ (## рдмреИрдВрдб = рдЖрдЗрдЯрдо) рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░реЗрдВрдЧреЗред



рд░рд┐рдкреЛрд░реНрдЯ рдЪрд▓рд╛рддреЗ рд╣реБрдП, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЗрдЦреЗрдВрдЧреЗред





рдПрдХреАрдХрд░рдг рдФрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░



рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореВрд▓ рд░реВрдк рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рдФрд░ рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХреАрдХрд░рдг рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг CUBA рдордВрдЪ рдореЗрдВ YARG рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реИред рд╣рдо рд╕реНрдкреНрд░рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ IoC рдврд╛рдВрдЪреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рд╡рд╕рдВрдд рдореЗрдВ YARG рдХреЛ рдХреИрд╕реЗ рдПрдореНрдмреЗрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



 <bean id="reporting_lib_Scripting" class="com.haulmont.reports.libintegration.ReportingScriptingImpl"/> <bean id="reporting_lib_GroovyDataLoader" class="com.haulmont.yarg.loaders.impl.GroovyDataLoader"> <constructor-arg ref="reporting_lib_Scripting"/> </bean> <bean id="reporting_lib_SqlDataLoader" class="com.haulmont.yarg.loaders.impl.SqlDataLoader"> <constructor-arg ref="dataSource"/> </bean> <bean id="reporting_lib_JpqlDataLoader" class="com.haulmont.reports.libintegration.JpqlDataDataLoader"/> <bean id="reporting_lib_OfficeIntegration" class="com.haulmont.reports.libintegration.CubaOfficeIntegration"> <constructor-arg value="${cuba.reporting.openoffice.path?:/}"/> <constructor-arg> <list> <value>8100</value> <value>8101</value> <value>8102</value> <value>8103</value> </list> </constructor-arg> <property name="displayDeviceAvailable"> <value>${cuba.reporting.displayDeviceAvailable?:false}</value> </property> <property name="timeoutInSeconds"> <value>${cuba.reporting.openoffice.docFormatterTimeout?:20}</value> </property> </bean> <bean id="reporting_lib_FormatterFactory" class="com.haulmont.yarg.formatters.factory.DefaultFormatterFactory"> <property name="officeIntegration" ref="reporting_lib_OfficeIntegration"/> </bean> <bean id="reporting_lib_LoaderFactory" class="com.haulmont.yarg.loaders.factory.DefaultLoaderFactory"> <property name="dataLoaders"> <map> <entry key="sql" value-ref="reporting_lib_SqlDataLoader"/> <entry key="groovy" value-ref="reporting_lib_GroovyDataLoader"/> <entry key="jpql" value-ref="reporting_lib_JpqlDataLoader"/> </map> </property> </bean> <bean id="reporting_lib_Reporting" class="com.haulmont.yarg.reporting.Reporting"> <property name="formatterFactory" ref="reporting_lib_FormatterFactory"/> <property name="loaderFactory" ref="reporting_lib_LoaderFactory"/> </bean>
      
      





рдЗрд╕ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдореБрдЦреНрдп рдмреАрди рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ_рд▓рд┐рдм_рд░рдкреЛрд░реНрдЯрд┐рдВрдЧ рд╣реИред рдпрд╣ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рдореБрдЦреНрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рддрдХ рдкрд╣реБрдБрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ - рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧред рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рдордХрд╛рдЬ рдХреЗ рд▓рд┐рдП, рдлреЙрд░реНрдореЗрдЯрд░реНрд╕ рдХреА рдПрдХ рдлреИрдХреНрдЯреНрд░реА (рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ - DOCX, XLSX, DOC, рдЖрджрд┐) рдФрд░ рд▓реЛрдбрд░ (рд▓реЛрдбрд┐рдВрдЧ рдбреЗрдЯрд╛) рдХреА рдПрдХ рдлреИрдХреНрдЯреНрд░реА рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдк DOC рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ_lib_OfficeIntegration рд╕реЗрдо рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬреЛ рдУрдкрди рдСрдлрд╝рд┐рд╕ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╣реИ (рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ DOC рдФрд░ ODT рд░рд┐рдкреЛрд░реНрдЯ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрддреА рд╣реИрдВ)ред

рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдирдпрд╛ рд▓реЛрдбрд░, рдЖрдкрдХреЛ рдХрд┐рд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдмрд╕ рдЗрд╕реЗ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ_lib_LoaderFactory рд╕реЗрдо рдореЗрдВ рдбреЗрдЯрд╛рд▓реЗрдпрд░реНрд╕ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред рдЬреЛ рд╣рдордиреЗ рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ jpql рдбреЗрдЯрд╛ рд▓реЛрдбрд░ ( <рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреБрдВрдЬреА = "jpql" value-ref = "рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ_lib_JpqlDataLoader" /> ) рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдХрд┐рдпрд╛ рдерд╛ред

рдЕрдзрд┐рдХ рдЧрдВрднреАрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд▓рд┐рдП, рдЖрдк рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреНрд▓рд╛рд╕реЗрд╕ рдЗрдирд╣реЗрд░рд┐рдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рд▓рдЧрднрдЧ рд╕рднреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреБрдбрд╝реА рд╣реБрдИ рд╣реИ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓ рд╣реИред



рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдореЛрдб



YARG рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рдПрдХ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдЬрдирд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, JRE рдЖрдкрдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рд░рд┐рдкреЛрд░реНрдЯ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдкрд╛рд╕ PHP рдореЗрдВ рдПрдХ рд╕рд░реНрд╡рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИ рдФрд░ рдЖрдк XLS рд░рд┐рдкреЛрд░реНрдЯ рдЬрдирд░реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдмрд╕ рдПрдХ XLS рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ XML рд╡рд┐рд╡рд░рдг, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдЖрдк рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХрдВрд╕реЛрд▓ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд░рд┐рдкреЛрд░реНрдЯ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХрдорд╛рдВрдб рдЙрджрд╛рд╣рд░рдг:

 yarg -rp ~/report.xml -op ~/result.xls тАЬ-Pparam1=20/04/2014тАЭ
      
      







рдирд┐рд╖реНрдХрд░реНрд╖



рдирд┐рд╖реНрдХрд░реНрд╖ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдпреВрдЖрдИ рдХреЗ рдХреБрдЫ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рджреВрдВрдЧрд╛ рдЬреЛ рдХрд┐ CUBA рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо YARG рдЗрдВрдЬрди рдкрд░ рд░рд┐рдкреЛрд░реНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:



рд░рд┐рдкреЛрд░реНрдЯ рд╕рдВрдкрд╛рджрдХ рдХреЗ рдЯреБрдХрдбрд╝реЗ










рд░рд┐рдкреЛрд░реНрдЯ рд╡рд┐рдЬрд╝рд╛рд░реНрдб












рдФрд░ рд░реЗрдЦрд╛рдВрдХрди рдХреЗ рд╕рд╛рде рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:



рдЪрд╛рд░реНрдЯ рд░рд┐рдкреЛрд░реНрдЯ
рдЧреНрд░рд╛рдл рдФрд░ рдЪрд╛рд░реНрдЯ рдХреЗ рд╕рд╛рде рд░рд┐рдкреЛрд░реНрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ:





рдЧреНрд░рд╛рдл рдФрд░ рдЪрд╛рд░реНрдЯ рдХреЗ рд╕рд╛рде рддреИрдпрд╛рд░ рд░рд┐рдкреЛрд░реНрдЯ








All Articles