Java ile Excel'den Veri Cekme

Makale icerisin de; excel'den verileri cekebilecegimiz jxl.jar dosyamizin nasil import edildigi, ve gerekli jxl.jar dosyalarimizin nasil kullanilacagi hakkinda bilgi olmasi icin yazdigim kodlari paylasiyorum.
Diger kullandigim iki farkli ozelliklerden birisi; hashmap'le verileri cekip ayni veriden farkli girisleri sildirtip kacar tane girildigini yazdiriyorum. ikinci ise substring metodu ile string girilmis kelime yada cumlelerimizin sagdan - soldan nasil kelime cekebilecegimizi gosteriyorum.
Programin kodlari ve de ekran ciktisi asagida ki gibidir...
Programin Kodlari ;
import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Locale; import java.util.Map; import java.util.Set; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; import jxl.WorkbookSettings; import jxl.read.biff.BiffException; public class ReadXLSheet { public void init(String filePath) { FileInputStream fs = null; try { fs = new FileInputStream(new File(filePath)); contentReading(fs); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally { try { fs.close(); } catch (IOException e) { e.printStackTrace(); } } } public void getHeadingFromXlsFile(Sheet sheet) { int columnCount = sheet.getColumns(); System.out.println("kolonlarin ismi : "); System.out.println("-------------------"); for (int i = 0; i < columnCount; i++) { System.out.println(sheet.getCell(i, 0).getContents()); } } public void contentReading(InputStream fileInputStream) { WorkbookSettings ws = null; Workbook workbook = null; Sheet s = null; Cell rowData[] = null; int rowCount = '0'; int columnCount = '0'; int totalSheet = 0; try { ws = new WorkbookSettings(); ws.setLocale(new Locale("en", "EN")); workbook = Workbook.getWorkbook(fileInputStream, ws); totalSheet = workbook.getNumberOfSheets(); if(totalSheet > 0) { System.out.println("Toplam bulunan Sheet Sayisi : " + totalSheet); System.out.println("-------------------"); System.out.println("Bulunan Sheet'lerin Isimleri : "); System.out.println("-------------------"); for(int j=0; j<totalSheet ;j++) { System.out.println(workbook.getSheet(j).getName()); } } s = workbook.getSheet(0); System.out.println("-------------------"); getHeadingFromXlsFile(s); System.out.println("-------------------"); System.out.println("Toplam Girilmis Satir Sayisi :" + s.getRows()); rowCount = s.getRows(); System.out.println("Toplam Girilmis Sutun Sayisi :" + s.getColumns()); columnCount = s.getColumns(); System.out.println("-------------------"); for (int i = 0; i < rowCount; i++) { rowData = s.getRow(i); for (int j =0; j < columnCount; j++) { System.out.print(rowData
.getContents() + ",");
}
System.out.println();
}
System.out.println("-------------------");
System.out.println("secili olan sutunun verilerini listeleme : ");
System.out.println("-------------------------");
HashMap<String, Integer> hm = new HashMap<String, Integer>();
for (int k = 0; k < s.getRows(); k++)
{
System.out.println(s.getCell(1,k).getContents());
hm.put(s.getCell(1,k).getContents(),k);
}
System.out.println("");
System.out.println("duzeltilmis isimler");
System.out.println("-----------------------------");
String abc = "nano'nun gunlugu;
System.out.println(abc);
System.out.println((abc.substring(0,abc.length()-4)));
System.out.println(abc.substring(0,abc.length()-1));
Set set = hm.entrySet();
Iterator i = set.iterator();
while(i.hasNext())
{
Map.Entry me = (Map.Entry)i.next();
System.out.println(me.getKey() + ",");
}
workbook.close();
}
catch (IOException e)
{
e.printStackTrace();
}
catch (BiffException e)
{
e.printStackTrace();
}
}
public static void main(String[] args)
{
try
{
ReadXLSheet xlReader = new ReadXLSheet();
xlReader.init("C:\\test.xls");
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
Yorumlar