package cryodex.export;
import java.awt.Desktop;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class ExportUtils {
public static void displayHTML(String content, String filename) {
String preventTableBreak = "table.print-friendly {page-break-inside: avoid;}";
String mediaCss = "@media print {.pagebreak {page-break-after: always;}}";
String fancyCss = "table{border-collapse: collapse;}th{color:white; background-color:DarkSlateGray; font-size:120%;} tr:nth-child(odd){ background-color:lightgray;}";
String internationalCharacters = "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />";
String html = "<html><head><style type=\"text/css\">.smallFont{font-size:10px}"
+ fancyCss + mediaCss + preventTableBreak + "</style>" + internationalCharacters + "</head><body>" + content + "</body></html>";
try {
File file = File.createTempFile(filename, ".html");
FileOutputStream stream = new FileOutputStream(file);
stream.write(html.getBytes("UTF-8"));
stream.flush();
stream.close();
Desktop.getDesktop().open(file);
} catch (IOException e) {
e.printStackTrace();
}
}
public static void addTableStart(StringBuilder sb){
sb.append("<table border=\"1\">");
}
public static void addTableHeader(StringBuilder sb, String ...strings){
sb.append("<tr>");
for(String s : strings){
sb.append("<th>").append(s).append("</th>");
}
sb.append("</tr>");
}
public static void addTableRow(StringBuilder sb, String ...strings){
sb.append("<tr>");
for(String s : strings){
sb.append("<td>").append(s).append("</td>");
}
sb.append("</tr>");
}
public static void addTableEnd(StringBuilder sb){
sb.append("</table>");
}
}