Witam, mam problem z danymi, które wyciągam z excela. Używam do tego biblioteki jxl. Wszystko ładnie się wyciąga gdy chce to wrzucić na konsolę, jednak nie mogę wrzucić zawartości komórek bezpośrednio do jtable... Może ktoś już miał taki problem i pomoże... Będę wdzięczny. Poniżej zamieszczam kod:

package pl.wydania.pp;

import java.io.File;
import java.io.IOException;
import java.util.Vector;

import javax.swing.table.DefaultTableModel;

import jxl.Cell;
import jxl.CellType;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;


public class Wydania extends javax.swing.JFrame {

	private String inputFile;
	private int rowekXls;
	private int pierwotnyRowekXls;
	private String indeks;
	private String nazwa;
	private String ilosc;

	DefaultTableModel modelDane = new DefaultTableModel() {
		public Class getColumnClass(int column) {
			for (int row = 0; row < getRowCount(); row++) {
				Object o = getValueAt(row, column);
				if (o != null) {
					return o.getClass();
				}
			}
			return Object.class;
		}

		public boolean isCellEditable(int row, int column) {
			return false;
		}
	};

	public Wydania() {
		initComponents();
	}

	private void initComponents() {

		buttonWstawDane = new javax.swing.JButton();
		scrollDane = new javax.swing.JScrollPane();
		tableDane = new javax.swing.JTable(modelDane);

		setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
		setTitle("Dane");

		buttonWstawDane.setText("Wstaw dane");
		buttonWstawDane.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent evt) {
				try {
					buttonWstawDaneActionPerformed(evt);
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		});

		scrollDane.setViewportView(tableDane);

		javax.swing.GroupLayout layout = new javax.swing.GroupLayout(
				getContentPane());
		getContentPane().setLayout(layout);
		layout
				.setHorizontalGroup(layout
						.createParallelGroup(
								javax.swing.GroupLayout.Alignment.LEADING)
						.addGroup(
								layout
										.createSequentialGroup()
										.addContainerGap()
										.addGroup(
												layout
														.createParallelGroup(
																javax.swing.GroupLayout.Alignment.LEADING,
																false)
														.addComponent(
																buttonWstawDane)
														.addComponent(
																scrollDane,
																javax.swing.GroupLayout.PREFERRED_SIZE,
																436,
																javax.swing.GroupLayout.PREFERRED_SIZE))
										.addGap(13, 13, 13)));
		layout.setVerticalGroup(layout.createParallelGroup(
				javax.swing.GroupLayout.Alignment.LEADING).addGroup(
				layout.createSequentialGroup().addContainerGap().addComponent(
						buttonWstawDane).addPreferredGap(
						javax.swing.LayoutStyle.ComponentPlacement.RELATED)
						.addComponent(scrollDane,
								javax.swing.GroupLayout.PREFERRED_SIZE, 298,
								javax.swing.GroupLayout.PREFERRED_SIZE)
						.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
								Short.MAX_VALUE)));

		pack();
	}

	private void buttonWstawDaneActionPerformed(java.awt.event.ActionEvent evt)
			throws IOException {
		Wydania dane = new Wydania();
		dane.setInputFile("c:/temp/dane.xls");
		dane.czytajDane();
	}

	public void setInputFile(String inputFile) {
		this.inputFile = inputFile;
	}

	public void czytajDane() throws IOException {
		File inputWorkbook = new File(inputFile);
		Workbook w;
		try {
			w = Workbook.getWorkbook(inputWorkbook);
			
			Sheet sheet = w.getSheet(0);

			for (int k = 0; k < sheet.getRows(); k++) {
				Cell cell = sheet.getCell(0, k);
				if (cell.getContents().equals("[Lines]")) {
					pierwotnyRowekXls = cell.getRow();
				}
			}

			for (rowekXls = pierwotnyRowekXls; rowekXls < sheet.getRows(); rowekXls++) {
				Cell cellIndeks = sheet.getCell(0, rowekXls);
				Cell cellNazwa = sheet.getCell(1, rowekXls);
				Cell cellIlosc = sheet.getCell(2, rowekXls);
				indeks = cellIndeks.getContents().toString();
				nazwa = cellNazwa.getContents().toString();
				ilosc = cellIlosc.getContents().toString();
				if (cellIndeks.getType() == CellType.NUMBER
						|| cellIlosc.getType() == CellType.NUMBER
						|| cellNazwa.getType() == CellType.LABEL) {
					if (cellNazwa.getContents().contains("HM")) {
					} else {
						modelDane.addRow(new Object[] { indeks, nazwa,
								ilosc });
						System.out.println(indeks + " " + nazwa + " " + ilosc);
					}
				}
			}

		} catch (BiffException e) {
			e.printStackTrace();
		}
	}

	public static void main(String args[]) {
		java.awt.EventQueue.invokeLater(new Runnable() {
			public void run() {
				new Wydania().setVisible(true);
			}
		});
	}

	private javax.swing.JButton buttonWstawDane;
	private javax.swing.JScrollPane scrollDane;
	private javax.swing.JTable tableDane;
	

}