Zadatak glasi:
Korišćenjem Apache POI biblioteke potrebno je napraviti Word ili Excel dokument koji je profaktura. Profaktura treba da ima sledeći izgled:
Marcel Proust Pleasures and Days Alma Books 14.95
James Joyce Portrait of the Artist as a Young Man Collector's Library 9.95
Sum: 24,9
Potrebno je napraviti program koji korisniku dozvoljava da na osnovu identifikacionog broja knjige dodaje objekte klase Knjige sa datim podacima u listu a zatim po završetku rada sa programom da se generiše dokument sa profakturom.
Dakle trebam da napravim program koji ce za predefinisanu listu u klasi Program, napravi profakturu u excelu.Korisnik unosi id knjige i nakon unosa izdvajaju se knjige sa tim id-om i upsuju u excel dokument. knjiga pored id sadrzi i naziv,autora i cenu.
Evo mog koda:
Klasa Program-(Main):
package paket;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;
public class Program {
public static void main(String[]args) throws FileNotFoundException, IOException{
Excel.profaktura();
ArrayList<Knjiga> knjiga = new ArrayList<>();
knjiga.add(new Knjiga(1,"Nicija","Vesna Dedic Milojevic",500));
knjiga.add(new Knjiga(2,"Suvenir","Tes Geritsen",679));
knjiga.add(new Knjiga(3,"Trebalo je da znas","Dzin Hanf Korelic",719));
knjiga.add(new Knjiga(4,"Tren neizbeznog","Zorana Schultz",559));
knjiga.add(new Knjiga(5,"Cizmasi","Dragoslav Mihailovic",764));
Korpa.setKorpa(knjiga);
System.out.println("* Knjige u ponudi *");
for(Knjiga k : knjiga)
System.out.println(k);
System.out.println("");
System.out.print("* Unesite ID knjige zeljene knjige. Za kraj unosa upisite (0): ");
ArrayList<Integer> porudzbine = new ArrayList<>();
Korpa.setId(porudzbine);
@SuppressWarnings("resource")
Scanner scan = new Scanner(System.in);
int id;
do{
id=scan.nextInt();
if (id == 0){
System.out.println("Uneli ste '0' za kraj.");
break;
}
porudzbine.add(id);
}while(true);
System.out.println("");
System.out.println("* Izabrali ste sledece: *");
for(int i=0;i<porudzbine.size();i++){
System.out.println(Korpa.vracaKnjige().get(i));
}
}
}
Klasa Knjiga
package paket;
import java.util.ArrayList;
public class Knjiga {
private int id;
private String naziv,autor;
private double cena;
public Knjiga(int id, String naziv, String autor, double cena){
this.id=id;
this.naziv=naziv;
this.autor=autor;
this.cena=cena;
}
public static ArrayList<Knjiga> vracaKnjige(int id){
return null;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNaziv() {
return naziv;
}
public void setNaziv(String naziv) {
this.naziv = naziv;
}
public String getAutor() {
return autor;
}
public void setAutor(String autor) {
this.autor = autor;
}
public double getCena() {
return cena;
}
public void setCena(double cena) {
this.cena = cena;
}
public String toString() {
return "ID: " + id + "| Naziv: " + naziv + "| Autor: " + autor + "| Cena: " + cena;
}
}
Klasa Excel
package paket;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.*;
public class Excel {
public static void profaktura(){
try{
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("Profaktura");
HSSFRow row = sheet.createRow(0);
HSSFCell cell = row.createCell(0);
String[] nazivi = {"ID", "Naziv", "Autor", "Cena"};
ArrayList<Integer> id = Korpa.getId();
for (int i = 0; i < nazivi.length; i++) {
cell = row.createCell(i);
cell.setCellValue(nazivi[i]);
}
workbook.write(new FileOutputStream("tabela.xls"));
workbook.close();
}
catch(Exception e){
e.printStackTrace();
}
}
}
Nadam se odgovoru.Hvala unapred!
[Ovu poruku je menjao shocknp dana 02.06.2016. u 00:24 GMT+1]