Convert Tipe Data XMLGregorianCalendar ke java.util.Date

Hal ini sering aku temui akhir – akhir ini saat bikin EJB dan mengharuskan mengambil data dari database Server kemudian disimpan pada database Client, dan sebaliknya menggunakan web service.

Saat data di-query pada database server, dan dikirimkan ke client melalui web service, data yang semula bertipe “Date” tersebut di Client formatnya berubah menjadi XMLGregorianCalender. Tentu hal ini tidak bisa di-inputkan langsung di database Client yang ber-format Date. Untuk itu, data ini perlu di-convert dulu sehingga menjadi berformat Date.

Langsung saja, ini lah potongan Code-nya :

XMLGregorianCalendar tempCal = varTipeXMLGrerorianCalender;
java.util.Date dateBegin = tempCal.toGregorianCalendar().getTime();

Selain itu, bisa juga convert dari Date ke XMLGregorianCalender, tentunya dengan cara yang sedikit berbeda dengan potongan code diatas.

Sekian, semoga bermanfaat, mohon koreksinya kalau ada yang kurang pas.

Menulis ke File Excel di Java

Setelah sebelumnya adalah cara sederhana untuk membaca file Excel, saat ini mari belajar untuk menulis ke file excel dengan java. Masih menggunakan library jxl.jar, dimana library-nya bisa diunduh sendiri :). Langsung saja, berikut potongan programnya :

File file = new File("Write Excel.xls"); //nama file yang akan dibuat

WritableWorkbook workbook = Workbook.createWorkbook(file);
WritableSheet sheet = workbook.createSheet("Sheet Pertama", 0);//sheet pertama, dimulai dari nol
Label label = new Label(0, 2, "Nama Label");//nama label, di kolom pertama, baris ketiga
sheet.addCell(label);

Number number = new jxl.write.Number(4, 5, 98989898);//field, pada kolom ke-5, baris ke-6
sheet.addCell(number);

workbook.write();
workbook.close();

Semoga bermanfaat, mohon koreksi kalau ada yang kurang tepat. terimakasih.

Membaca File Excel di Java

Berawal dari kerjaan di kantor yang salah satu task-nya mengharuskan membaca file excel, setelah beberapa waktu, akhirnya menemukan salah satu solusi buat masalahku ini. Berikut adalah contoh code-nya :

 

    import java.io.File;
    import java.io.IOException;
    import jxl.Sheet;
    import jxl.Workbook;
    import jxl.read.biff.BiffException;
    public class readExcel {

     public void readFile (String directory) throws IOException, BiffException{
        File file = new File(directory);

        Workbook workbook = Workbook.getWorkbook(file);
        Sheet[] sheet = workbook.getSheets();

        int x = sheet[0].getRows();
        int y = sheet[0].getColumns();
        for (int i = 0; i < x; ++i){
            for (int j = 0;j < y; ++j){
                String ret = sheet[0].getCell(j, i).getContents();
                System.out.println("cell : "+i+" , "+j+" : "+ret);
            }
        }
      }
    }

 

Sheet, Columns dan Rows semua dimulai dari nol. Dan pada kasus ini, nama file (termasuk directory file) berada pada variabel directory. File excel yang dibaca hanya ada 1 sheet (yang berarti sheet nol).

Pada baris :

String ret = sheet[0].getCell(j, i).getContents();
getCell(j,i)

“j” adalah kolom, dan “i” adalah baris.

getCell(kolom,baris).

Ini yang biasanya salah dipahami, karena kebiasaan yang ada adalah (baris,kolom).

Sekian, semoga bermanfaat. Saya yakin code tersebut masih jauh dari baik, untuk itu, dan saya sangat senang bila ada masukan dari pengunjung semua. Terimakasih.

PS : hampir lupa. Sebelumnya kita perlu meng-import library “jxl.jar “kedalam program yang akan kita bikin.

Pertama pada kategori ini.

Adanya kategori ini bukan karena jago coding, atau karena tahu banyak masalah pemrograman. Justru karena merasa perlu banyak belajar dan sering lupa bila ada satu masalah pada pemrograman yang saat ini bisa teratasi, tapi muncul dikemudian hari dan ternyata sudah lupa sehingga harus mencari – cari cara yang sama untuk masalah yang serupa. Dengan ditulis disini paling tidak, akan mudah melihat solusi dari masalah yang muncul bila kemarin – kemarin pernah diatasi. Syukur – syukur bisa bermanfaat terutama buat diri sendiri, dan juga pengunjung blog ini. Mari berdiskusi, dan tolong beri koreksi bila ada yang salah. Terimakasih.