bw.newLine();
bw.write(" <name><![CDATA["+s.getName()+"]]></name>");
bw.newLine();
Cell[] row = null;
CellFormat format = null;
Font font = null;
for (int i = 0 ; i < s.getRows() ; i++)
{
bw.write(" <row number=\"" + i + "\">");
bw.newLine();
row = s.getRow(i);
for (int j = 0 ; j < row.length; j++)
{
// Remember that empty cells can contain format information
if ((row[j].getType() != CellType.EMPTY) ||
(row[j].getCellFormat() != null))
{
format = row[j].getCellFormat();
bw.write(" <col number=\"" + j + "\">");
bw.newLine();
bw.write(" <data>");
bw.write("<![CDATA["+row[j].getContents()+"]]>");
bw.write("</data>");
bw.newLine();
if (row[j].getCellFormat() != null)
{
bw.write(" <format wrap=\"" + format.getWrap() + "\"");
bw.newLine();
bw.write(" align=\"" +
format.getAlignment().getDescription() + "\"");
bw.newLine();
bw.write(" valign=\"" +
format.getVerticalAlignment().getDescription() + "\"");
bw.newLine();
bw.write(" orientation=\"" +
format.getOrientation().getDescription() + "\"");
bw.write(">");
bw.newLine();
// The font information
font = format.getFont();
bw.write(" <font name=\"" + font.getName() + "\"");
bw.newLine();
bw.write(" point_size=\"" +
font.getPointSize() + "\"");
bw.newLine();
bw.write(" bold_weight=\"" +
font.getBoldWeight() + "\"");
bw.newLine();
bw.write(" italic=\"" + font.isItalic() + "\"");
bw.newLine();
bw.write(" underline=\"" +
font.getUnderlineStyle().getDescription() + "\"");
bw.newLine();
bw.write(" colour=\"" +
font.getColour().getDescription() + "\"");
bw.newLine();
bw.write(" script=\"" +
font.getScriptStyle().getDescription() + "\"");
bw.write(" />");
bw.newLine();
// The cell background information
if (format.getBackgroundColour() != Colour.DEFAULT_BACKGROUND ||
format.getPattern() != Pattern.NONE)
{
bw.write(" <background colour=\"" +
format.getBackgroundColour().getDescription() + "\"");
bw.newLine();
bw.write(" pattern=\"" +
format.getPattern().getDescription() + "\"");
bw.write(" />");
bw.newLine();
}
// The cell border, if it has one
if (format.getBorder(Border.TOP ) != BorderLineStyle.NONE ||
format.getBorder(Border.BOTTOM) != BorderLineStyle.NONE ||
format.getBorder(Border.LEFT) != BorderLineStyle.NONE ||
format.getBorder(Border.RIGHT) != BorderLineStyle.NONE)
{
bw.write(" <border top=\"" +
format.getBorder(Border.TOP).getDescription() + "\"");
bw.newLine();
bw.write(" bottom=\"" +
format.getBorder(Border.BOTTOM).getDescription() +
"\"");
bw.newLine();
bw.write(" left=\"" +
format.getBorder(Border.LEFT).getDescription() + "\"");
bw.newLine();
bw.write(" right=\"" +
format.getBorder(Border.RIGHT).getDescription() + "\"");
bw.write(" />");
bw.newLine();
}
// The cell number/date format
if (!format.getFormat().getFormatString().equals(""))
{
bw.write(" <format_string string=\"");
bw.write(format.getFormat().getFormatString());
bw.write("\" />");
bw.newLine();
}
bw.write(" </format>");