Zum Inhalt springen

cindyhun

Mitglieder
  • Gesamte Inhalte

    9
  • Benutzer seit

  • Letzter Besuch

Beiträge von cindyhun

  1. Nur so zum Beispiel.

    zuerst das:

    ------------------

    m_dataModel = new MyTableModel(m_RowCount , m_ColCount);

    m_table=new JTable(m_dataModel);

    dann:

    ------------------

    package Cindypkg;

    import java.util.Vector;

    import javax.swing.table.AbstractTableModel;

    import java.util.ArrayList;

    import java.lang.Throwable;

    import javax.swing.event.TableModelEvent;

    import javax.swing.JCheckBox;

    public class MyTableModel extends AbstractTableModel

    {

    public MyTableModel(final int rowCount, final int columnCount)

    {

    m_rowCount =rowCount;

    m_columnCount=columnCount;

    /**

    * Zellen initialisieren

    */

    mv_cells=new Vector(rowCount);

    for(int row=0;row<m_rowCount ;row++)

    {

    Vector tmpV=new Vector(columnCount);

    Boolean b =new Boolean(false);

    tmpV.add(0,B);

    for(int col=1;col<m_columnCount;col++)

    {

    tmpV.add(col,"");

    }

    mv_cells.add(row,tmpV);

    }

    m_columnName=new String[m_columnCount];

    }

    public void addRow()

    {

    Vector tmpRow=new Vector();

    Boolean b =new Boolean(false);

    tmpRow.add(0,B);

    for(int i=1;i<m_columnCount;i++)

    {

    tmpRow.add(i,"");

    }

    m_rowCount++;

    mv_cells.setSize(m_rowCount );

    mv_cells.add(m_rowCount-1 ,tmpRow);

    /*this.fireTableChanged(new TableModelEvent(this ,m_rowCount-1 ,

    m_rowCount , ALL_COLUMNS, INSERT));

    */

    }

    public int getColumnCount()

    {

    return m_columnCount;

    }

    public int getRowCount()

    {

    return m_rowCount ;

    }

    public Object getValueAt(int row, int col)

    {

    if(row<0 || row>mv_cells.size() ||

    col<0 || col>((Vector)mv_cells.get(row)).size())

    {

    //error

    return "";

    }

    else

    {

    return ((Vector)mv_cells.get(row)).elementAt(col);

    }

    }

    public String getColumnName(int columnIndex)

    {

    return m_columnName[columnIndex];

    }

    public boolean isCellEditable(int rowIndex,

    int columnIndex)

    {

    return true;

    }

    public void setValueAt(Object aValue, int rowIndex,

    int columnIndex)

    {

    if(rowIndex <0 || columnIndex <0)

    {

    //error

    }

    else

    {

    /**

    * setting value

    */

    ((Vector)mv_cells.get(rowIndex)).setElementAt(aValue ,columnIndex );

    }

    }

    public void setColumnName(String name,int columnIndex)

    {

    m_columnName[columnIndex]=name;

    }

    public Class getColumnClass(int columnIndex)

    {

    if(columnIndex == 0)

    {

    return Boolean.class;

    }

    return String.class;

    }

    public void conclude()

    {

    if (true)

    {

    //closeConnection();

    }

    m_concluded = true;

    }

    /**

    * Members

    */

    private String[] m_columnName;

    private Vector mv_cells;

    private int m_columnCount;

    private int m_rowCount;

    private boolean m_concluded = false;

    private String m_tableName = null;

    private String[] m_columnTitles ;

    private String m_url = null;

    private String m_driverName = null;

    private String m_user = null;

    private String m_passwd = null;

    private boolean m_doDbUpdateImmediately = true;

    private boolean m_forceGivenTable = false;

    private boolean m_readOnly = false;

    private boolean m_tableChanged = false;

    private XMLCls m_XMLObj;

    private String m_pfad;

    }

  2. Sehr einfach!

    OOA: Objekorientiere Analyse

    OOD: Objektorientiertes Design

    OOP: Objektorientierte Programmierung. Wie JAVA oder C++ zum Beispiel.

    VBA: Visual Basic for Applications. Wenn du unter Access oder Word (= die sind Applikationen) ein VB Macro schreibst, ist es VBA.

    Yo.

  3. Du hast ein Formular namens FrmHaupt, mit einen Button, das Exportiert (das Modul HauptExpXLS aufruft)

    Projekt - Verweise:

    1.Microsoft ActiveX Data Objects 2.5 Library

    2.Microsoft Excel 9.0 Object Library

    3.Microsoft Scripting Runtime

    Projekt - Komponente:

    1.Microsoft Common Dialog Control 6.0 (SP3)

    2.Microsoft Windows Common Controls 6.0

    Das Formular FrmHaupt enthält ein Common Dial. Ctrl namens 'CmnDialogCtrl'

    Modul HauptExpXLS:

    Option Explicit

    Private mXLSRouteStr As String

    Private mFSOObj As Scripting.FileSystemObj

    Private mXLSAppObj As Excel.Application

    Public Sub CreateXLS()

    Dim tmpWrk As Excel.Workbook

    Dim i As Integer

    Dim tmpFilenameStr As String

    Dim VollstNameStr As String

    Dim FilePathStr As String

    Dim variable1, variable2, variable3, variable4

    On Error GoTo ErrCatch

    Screen.MousePointer = vbHourglass

    Set mXLSAppObj = New Application

    Set gFSOObj = New FileSystemObject

    ' File path

    mXLSRouteStr = App.Path

    ' File name

    tmpFilenameStr = "ExportDaten.xls"

    '********************************************************************

    'Common Dialog Element von den Formular

    'kannst evtl. weglassen. Das Dialog fragt, wo du den xls speichern

    'möchtest. Kannst auch direkt angeben.

    With FrmHaupt.CmnDialogCtrl

    '"resume next" ist wegen Abbrechen wichtig!!!

    On Error Resume Next

    .FileName = tmpFilenameStr

    .InitDir = mXLSRouteStr

    .DialogTitle = "Exceltabelle Speichern"

    'activate Cancel

    .CancelError = True

    .Flags = cdlOFNOverwritePrompt + cdlOFNPathMustExist + cdlOFNNoReadOnlyReturn

    .Filter = "(*.xls)|*.xls"

    .ShowSave

    'Error 32755 ist das Abbrechen Button

    If Err.Number = 32755 Then

    GoTo ExitProcedure

    End If

    FilePathStr = .FileName

    End With

    Screen.MousePointer = vbHourglass

    '********************************************************************

    On Error GoTo ErrCatch

    Screen.MousePointer = vbHourglass

    'Template / Vorlage für die Exceltabelle

    Set tmpWrk = mXLSAppObj.Workbooks.Add("e:\ExpTemplate.xls")

    'z.B. : Datum in Zelle B1

    tmpWrk.Worksheets(1).Range("B1").Value = FormatDateTime(Date, vbShortDate)

    'z.B. : Name in Zelle C1

    tmpWrk.Worksheets(1).Range("C1").Value = "Cindy the Great"

    'woher kommen deine Daten? Aus einer Datei?

    Open "e:\ProjDaten.txt" For Input As #1

    i = 2

    Do While Not EOF(1)

    Input #1, variable1, variable2, variable3, variable4

    'Füllt eine Zeile

    tmpWrk.Worksheets(1).Range("A" & i).Value = variable1

    tmpWrk.Worksheets(1).Range("B" & i).Value = variable2

    tmpWrk.Worksheets(1).Range("C" & i).Value = variable3

    tmpWrk.Worksheets(1).Range("D" & i).Value = variable4

    i = i + 1

    Loop

    Close #1

    'wenn unter diesen Namen eine Datei schon existiert, _

    dann löschen, damit keine Meldungen von Excel kommen

    If mFSOObj.FileExists(FilePathStr) Then

    mFSOObj.DeleteFile (FilePathStr)

    End If

    tmpWrk.SaveAs FilePathStr

    ExitProcedure:

    On Error Resume Next

    Screen.MousePointer = vbDefault

    tmpWrk.Close

    mXLSAppObj.Quit

    Set mFSOObj = Nothing

    Set mXLSAppObj = Nothing

    Exit Sub

    ErrCatch:

    Call MsgBox(CStr(Err.Number) & ":" & vbCrLf & Err.Description, vbOKOnly + vbCritical, "Error")

    Resume ExitProcedure

    Resume Next ' For debugging

    End Sub

  4. Zuerst Microsoft Excel 9.0 Library unter den Menüpunkt Projekt ... Verweise einbinden, dann als Modul :siehe unten (Ausgabe ist in den Direktfenster, Strg + G )

    Grüßen,

    Cindy

    Option Explicit

    Private Sub Main()

    Dim XLSObj As Excel.Application

    Dim tmpWrk As Excel.Workbook

    Set XLSObj = New Excel.Application

    Set tmpWrk = XLSObj.Workbooks.Open("e:\test.xls", , vbReadOnly)

    Dim zelle As Excel.Range

    Dim zeile As Excel.Range

    Dim i As Integer

    Dim j As Integer

    i = 1

    'Schleife, die alle Zeilen durchläuft bis leere Zeile

    For Each zeile In tmpWrk.Worksheets(1).Rows

    'Abbruchbedingung: Zeile leer

    If tmpWrk.Worksheets(1).Range("A" & i).Value = "" Then Exit For

    For Each zelle In zeile.Cells

    'Abbruchbedingung

    If zelle.Value = "" Then Exit For

    Debug.Print zelle.Value

    Next

    i = i + 1

    Next

    Debug.Print i

    tmpWrk.Close

    XLSObj.Workbooks.Close

    Set XLSObj = Nothing

    Set tmpWrk = Nothing

    End Sub

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...