import java.io.File;
import java.io.IOException;
import jxl.*;
import jxl.format.*;
import jxl.write.*;
import jxl.write.biff.*;
public class WriteExcel {
private WritableCellFormat timesBoldUnderline;
private WritableCellFormat times;
private WritableCellFormat arial;
private WritableCellFormat arial2;
private String nazwapliku="zapis.xls";
public void zapisz() throws IOException, WriteException {
File file = new File(nazwapliku);
WritableWorkbook workbook = Workbook.createWorkbook(file);
workbook.createSheet("Arkusz nr 1",0);
WritableSheet arkusz = workbook.getSheet(0);
tworzNaglowek(arkusz);
tworzZawartosc(arkusz);
workbook.write();
workbook.close();
}
private void tworzNaglowek(WritableSheet sheet)
throws WriteException {
// wybór czcionki
WritableFont times10pt = new WritableFont(WritableFont.TIMES, 10);
WritableFont arial10ptb = new WritableFont(WritableFont.ARIAL, 10, WritableFont.BOLD);
WritableFont arial10ptbp = new WritableFont(WritableFont.COURIER, 10,
WritableFont.BOLD,false,UnderlineStyle.SINGLE);
// wybór formatu komórki
times = new WritableCellFormat(times10pt);
arial= new WritableCellFormat(arial10ptb);
arial2= new WritableCellFormat(arial10ptbp);
// times.setWrap(true);
// arial.setWrap(true);
// arial2.setWrap(true);
// CellView cv = new CellView();
//cv.setFormat(times);
//cv.setAutosize(true);
dodajNaglowek(sheet, 0, 0, "Naglowek pierwszy");
dodajNaglowek(sheet, 1, 0, "Naglowek drugi");
}
private void tworzZawartosc(WritableSheet arkusz) throws WriteException,
RowsExceededException {
for (int i = 1; i < 10; i++) {
dodajLiczbe(arkusz, 0, i, i + 10);
dodajLiczbe(arkusz, 1, i, i * i);
}
Formula f = new Formula(0, 10,"SUM(A2:A10)");
arkusz.addCell(f);
Formula g = new Formula(1, 10,"SUM(B2:B10)");
arkusz.addCell(g);
// wstawianie tekstu
for (int i = 12; i < 20; i++) {
dodajZwyklyNapis(arkusz, 0, i, "Liczba " + i); //pierwsza kolumna
dodajPodkreslonyNapis(arkusz, 1, i, "A tutaj"); //druga kolumna
}
}
private void dodajNaglowek(WritableSheet arkusz,int kolumna, int wiersz, String napis)
throws WriteException
{
Label tekst=new Label(kolumna,wiersz,napis,arial);
arkusz.addCell(tekst);
}
private void dodajZwyklyNapis(WritableSheet arkusz,int kolumna, int wiersz, String napis)
throws WriteException
{
Label tekst=new Label(kolumna,wiersz,napis,times);
arkusz.addCell(tekst);
}
private void dodajPodkreslonyNapis(WritableSheet arkusz,int kolumna, int wiersz, String napis)
throws WriteException
{
Label tekst=new Label(kolumna,wiersz,napis,arial2);
arkusz.addCell(tekst);
}
private void dodajLiczbe(WritableSheet arkusz,int kolumna, int wiersz, Integer liczba)
throws WriteException
{
jxl.write.Number numer=new jxl.write.Number(kolumna,wiersz,liczba,times);
arkusz.addCell(numer);
}
public static void main(String[] args) throws WriteException, IOException {
WriteExcel program = new WriteExcel();
program.zapisz();
System.out.println("Plik zapisano w katalogu bieżącym pod nazwą zapis.xls");
}
}
Comments