Shizzl_chrizzl
Erfahrenes Mitglied
Hi Leude hab noch n 2. Projekt am laufen das schon etwas konkreter ist. Also ich muss einfach ein Programm schreiben das ne Exceldatei zerlegt. Nun is der Quelltext schon bis zum Einlesen der Excel Datei fertig:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class ExcelChooser extends JFrame{
public static void main (String [] args)
{
DesktopFrame exchoose = new DesktopFrame();
exchoose.setLocation(100, 100);
exchoose.setSize(700, 400);
exchoose.setVisible(true);
}
}
class DesktopFrame extends JFrame implements ActionListener {
private JDesktopPane desk;
private static String levelfile;
private JMenuItem open;
private JMenuItem beenden;
private JMenuItem info;
public DesktopFrame() {
super ("Excelreader");
this.desk = new JDesktopPane();
JMenuBar mb = new JMenuBar();
mb.add(createMainMenu());
mb.add(createInfoMenu());
setJMenuBar(mb);
desk.setDesktopManager(new DefaultDesktopManager());
setContentPane(desk);
}
private JMenu createMainMenu()
{
JMenu menues = new JMenu("Datei");
menues.setMnemonic('D');
open = new JMenuItem ("Datei Öffnen", KeyEvent.VK_D);
open.setToolTipText("Öffnet neue (Excel)Datei");
beenden = new JMenuItem ("Beenden", KeyEvent.VK_B);
beenden.setToolTipText("Beendet das Programm");
menues.add(open);
menues.add(beenden);
open.addActionListener(this);
beenden.addActionListener(this);
return menues;
}
private JMenu createInfoMenu()
{
JMenu imenu = new JMenu ("Info");
imenu.setMnemonic('I');
info = new JMenuItem ("Info");
imenu.add(info);
info.addActionListener(this);
return imenu;
}
public void addInfo(JInternalFrame Info, int x, int y)
{
Info.setLocation(x, y);
Info.setSize(450, 200);
Info.setDefaultCloseOperation(JInternalFrame.DISPOSE_ON_CLOSE);
desk.add(Info);
Info.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
JMenuItem item = (JMenuItem)e.getSource();
if (item == open)
{
String filename = showOpenDialog();
doFileReader(filename);
}
if (item == beenden ){
System.exit(0);
}
if (item == info){
addInfo (new InfoFrame ("INFO"), 230, 80);
}
}
private String showOpenDialog()
{
String filename = new String();
JFileChooser jfc = new JFileChooser();
int returnVal = jfc.showOpenDialog(this);
if (returnVal == JFileChooser.APPROVE_OPTION)
{
filename = jfc.getSelectedFile().getPath();
}
return filename;
}
void doFileReader(String filename)
{
try{
BufferedReader fileIn = new BufferedReader (new FileReader (filename));
for (int c; (c = fileIn.read()) != -1
System.out.print( (char) c );
fileIn.close();
JOptionPane.showMessageDialog(this, "Datei geladen!", "Geladen!", JOptionPane.INFORMATION_MESSAGE);
}
catch (IOException e)
{
System.out.println("Fehler beim Lesen der Datei");
}
}
}
class InfoFrame extends JInternalFrame
{
public InfoFrame (String title)
{
super (title, true, true);
setIconifiable(false);
setMaximizable(false);
setResizable(false);
JPanel panel5 = new JPanel();
JLabel label5 = new JLabel("Bei Fragen, Verbesserungsvorschlägen oder Fehlern bitte Mail an:");
JPanel panel6 = new JPanel();
JLabel label6 = new JLabel("Praktikant2.Q21@hno.atmel.com");
label5.add(panel5);
label6.add(panel6);
Container cp = getContentPane();
cp.add(label5);
cp.add(label6);
cp.setLayout(new FlowLayout());
}
}
Im moment gibt das Programm die ganze Datei wieder aus.
Nun gibt es nur das Prob das ich net weis wie ich ne Exceldatei zerleg. Ich hab etz z.b. ne datei mit 5 Spalten wobei da eben eine bestimmte auslesen will. Jetzt weis ich nicht wie ich die vorgehen soll kann ja schließlich net nur ne Zeile einlesen und dann ausgeben da das in Excel komisch endet. Ihr könnt ja selber ma ne datei einlesen und ausgeben soweit is das Programm schon fertig. Ich hoff ihr könnt mir da helfen ...
Thx für eure Mühe im vorraus
Greetz
Chris
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class ExcelChooser extends JFrame{
public static void main (String [] args)
{
DesktopFrame exchoose = new DesktopFrame();
exchoose.setLocation(100, 100);
exchoose.setSize(700, 400);
exchoose.setVisible(true);
}
}
class DesktopFrame extends JFrame implements ActionListener {
private JDesktopPane desk;
private static String levelfile;
private JMenuItem open;
private JMenuItem beenden;
private JMenuItem info;
public DesktopFrame() {
super ("Excelreader");
this.desk = new JDesktopPane();
JMenuBar mb = new JMenuBar();
mb.add(createMainMenu());
mb.add(createInfoMenu());
setJMenuBar(mb);
desk.setDesktopManager(new DefaultDesktopManager());
setContentPane(desk);
}
private JMenu createMainMenu()
{
JMenu menues = new JMenu("Datei");
menues.setMnemonic('D');
open = new JMenuItem ("Datei Öffnen", KeyEvent.VK_D);
open.setToolTipText("Öffnet neue (Excel)Datei");
beenden = new JMenuItem ("Beenden", KeyEvent.VK_B);
beenden.setToolTipText("Beendet das Programm");
menues.add(open);
menues.add(beenden);
open.addActionListener(this);
beenden.addActionListener(this);
return menues;
}
private JMenu createInfoMenu()
{
JMenu imenu = new JMenu ("Info");
imenu.setMnemonic('I');
info = new JMenuItem ("Info");
imenu.add(info);
info.addActionListener(this);
return imenu;
}
public void addInfo(JInternalFrame Info, int x, int y)
{
Info.setLocation(x, y);
Info.setSize(450, 200);
Info.setDefaultCloseOperation(JInternalFrame.DISPOSE_ON_CLOSE);
desk.add(Info);
Info.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
JMenuItem item = (JMenuItem)e.getSource();
if (item == open)
{
String filename = showOpenDialog();
doFileReader(filename);
}
if (item == beenden ){
System.exit(0);
}
if (item == info){
addInfo (new InfoFrame ("INFO"), 230, 80);
}
}
private String showOpenDialog()
{
String filename = new String();
JFileChooser jfc = new JFileChooser();
int returnVal = jfc.showOpenDialog(this);
if (returnVal == JFileChooser.APPROVE_OPTION)
{
filename = jfc.getSelectedFile().getPath();
}
return filename;
}
void doFileReader(String filename)
{
try{
BufferedReader fileIn = new BufferedReader (new FileReader (filename));
for (int c; (c = fileIn.read()) != -1

System.out.print( (char) c );
fileIn.close();
JOptionPane.showMessageDialog(this, "Datei geladen!", "Geladen!", JOptionPane.INFORMATION_MESSAGE);
}
catch (IOException e)
{
System.out.println("Fehler beim Lesen der Datei");
}
}
}
class InfoFrame extends JInternalFrame
{
public InfoFrame (String title)
{
super (title, true, true);
setIconifiable(false);
setMaximizable(false);
setResizable(false);
JPanel panel5 = new JPanel();
JLabel label5 = new JLabel("Bei Fragen, Verbesserungsvorschlägen oder Fehlern bitte Mail an:");
JPanel panel6 = new JPanel();
JLabel label6 = new JLabel("Praktikant2.Q21@hno.atmel.com");
label5.add(panel5);
label6.add(panel6);
Container cp = getContentPane();
cp.add(label5);
cp.add(label6);
cp.setLayout(new FlowLayout());
}
}
Im moment gibt das Programm die ganze Datei wieder aus.
Nun gibt es nur das Prob das ich net weis wie ich ne Exceldatei zerleg. Ich hab etz z.b. ne datei mit 5 Spalten wobei da eben eine bestimmte auslesen will. Jetzt weis ich nicht wie ich die vorgehen soll kann ja schließlich net nur ne Zeile einlesen und dann ausgeben da das in Excel komisch endet. Ihr könnt ja selber ma ne datei einlesen und ausgeben soweit is das Programm schon fertig. Ich hoff ihr könnt mir da helfen ...
Thx für eure Mühe im vorraus
Greetz
Chris