idzik icon

Java-Libraries-JExcelAPI-WriteExcel

idzik | PRO | 12/15/15 06:27:57 AM UTC | 0 ⭐ | 264 👁️ | Never ⏰ | []
Java |

3.55 KB

|

None

|

0 👍

/

0 👎

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