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"); } }