Skip to content
Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
src
.gitignore
README.md
build.gradle

README.md

NYLA Office

NYLA Office provides utilities for creating Excel, PDF and open office documents.

Excel

Excel provides a set of functions to handle Excel files.

###Use Cases

String filePath = "src/resources/excel/input.xls";
Excel excel = Excel.getExcel(filePath);
ExcelSheet sheet = excel.retrieveSheet(sheetName);
Assert.assertTrue(sheet.getColumnCount() >  1);
Assert.assertTrue(sheet.getRowCount() >  1);

for (String[] row : sheet.getRows())
{
   Debugger.println("row:"+Arrays.asList(currentRow));
}

CSV

CSV is a object to create a CSV file.

###Use Case

File file = new File("src/test/resources/csv/output.csv");
CSV.writeHeader(file, "header1","header2","header3");
CSV.appendFile(file, 11,12,13);
		
Object[] row2 = {21,22,23};
CSV.appendFile(file, row2);

##JFreeChartFacade

JFreeChartFacade is a wrapper to the popular JFreeChart API(s).

###Simple Pie Char

Chart chart =  new JFreeChartFacade();
chart.setCategoryLabel(categoryLabel);
chart.setHeight(height);
chart.setName(name);
chart.plotValue(100.0, "Group A (66%)", "Usage");
chart.plotValue(50.0, "Group B  (34%)", "Usage");
chart.setTypeName(Chart.PNG_TYPE_NAME);

chart.setGraphType(Chart.PIE_GRAPH_TYPE);


IO.writeFile(new File(filePath), chart.getBytes());

###JVM memory area graph

//The Y axis is the memory size in GB
// X is days of week (Mon-Fri)
Chart chart =  new JFreeChartFacade();
chart.setLegend(legend);

chart.setCategoryLabel(categoryLabel);
chart.setHeight(height);
chart.setName(name);
chart.setWidth(width);
chart.setTitle(title);
String label = "JVM";

Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);

cal.add(Calendar.DATE, -5);

chart.plotValue(2,label, cal.getTime());
cal.add(Calendar.DATE, +1);


chart.plotValue(5, label, cal.getTime());
cal.add(Calendar.DATE, +1);

chart.plotValue(6,label, cal.getTime());

cal.add(Calendar.DATE, +1);
chart.plotValue(7,label, cal.getTime());

cal.add(Calendar.DATE, +1);
chart.plotValue(1,label, cal.getTime());
chart.setTypeName(Chart.PNG_TYPE_NAME);


Color[] colors = { Color.RED};

chart.setSeriesColors(Arrays.asList(colors));
chart.setBackgroundColor(Color.WHITE);
chart.setValueLabel("GB(s)");

chart.setGraphType(Chart.AREA_GRAPH_TYPE);


IO.writeFile(new File(filePath), chart.getBytes());
	
Debugger.println("Write to "+filePath);

FOP PDF

FOP is a wrapper for Apache FOP API to generate PDF document using XSL-FO.

###Use Case

String fo = IO.readClassPath("pdf/example.fop");
		
File file = new File("src/test/resources/pdf/test.pdf");
file.delete();
		
FOP.writePDF(fo, file);
Assert.assertTrue(file.exists());

###Example FO

  <?xml version="1.0" encoding="ISO-8859-1"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

<fo:layout-master-set>
  <fo:simple-page-master master-name="A4">
    <fo:region-body />
  </fo:simple-page-master>
</fo:layout-master-set>

<fo:page-sequence master-reference="A4">
  <fo:flow flow-name="xsl-region-body">
    <fo:block>Hello World</fo:block>
  </fo:flow>
</fo:page-sequence>
</fo:root>

###Add images FO example

   <fo:block>
    <fo:external-graphic src="../graphics/xml_feather_transparent.gif"/>
  </fo:block>

Also see http://w3schools.sinsixx.com/xslfo/default.asp.htm

You can’t perform that action at this time.