Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

pocetnik pomoc oko aplikacije

[es] :: .NET :: pocetnik pomoc oko aplikacije

[ Pregleda: 2057 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

anakin14

Član broj: 73683
Poruke: 862
*.dynamic.sbb.co.yu.



+133 Profil

icon pocetnik pomoc oko aplikacije07.10.2007. u 20:35 - pre 158 meseci
Zdravo, pocetnik sam u VB.net i okacio sam aplikaciju i xls fajl koji ide uz nju. Aplikacija treba da otvara excel fajl i preko svoje forme da unosi podatke u fajl.
ovo je samo pocetak i okacio sam da bih postavio par pitanja:
1)kada startujem aplikaciju i ugasim je u proccessima excel ostaje aktivan.Sta da ubacim da se excel gasi.
2)kako da datagrid povezem sa fajlom to jest da u datagridu budu podaci iz fajla?
ovo je za pocetak
a evo i koda :
Code:

Public Class Form1
    Dim ap As New Microsoft.Office.Interop.Excel.Application
    Dim file As String
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        file = "e:\proba.xls"
        ap.Workbooks.Open(file)
        ap.Visible = True
        ap.UserControl = True
        
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ap.Range("a1").End(Microsoft.Office.Interop.Excel.XlDirection.xlDown).Offset(1, 0).Select()
        ap.ActiveCell.Value = TextBox1.Text
        ap.ActiveCell.Offset(0, 1).Value = TextBox2.Text
        ap.ActiveCell.Offset(0, 2).Value = TextBox3.Text
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        ap.ActiveWorkbook.Close()
        ap.Quit()
    End Sub
End Class

Prikačeni fajlovi
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
*.adsl.net.t-com.hr.



+19 Profil

icon Re: pocetnik pomoc oko aplikacije07.10.2007. u 20:38 - pre 158 meseci
da bi ubacivao u excell, excell ne moraš otvarati.

nego učitaš xml file i ubaciš podatke u excell.
 
Odgovor na temu

anakin14

Član broj: 73683
Poruke: 862
*.dynamic.sbb.co.yu.



+133 Profil

icon Re: pocetnik pomoc oko aplikacije07.10.2007. u 21:55 - pre 158 meseci
mozes li malo opsirnije o tom nacinu unosa u excel peko xml -fajla?
hvala
 
Odgovor na temu

kuzmam
ireland

Član broj: 46518
Poruke: 31
212.147.139.*



Profil

icon Re: pocetnik pomoc oko aplikacije08.10.2007. u 11:59 - pre 158 meseci
evo ti pomoc oko gasenja excel procesa u memoriji, svojevremno sam imao slican problem.
kod je u c#, nadam se da ti nece biti problem da ga prevedes u VB. Override-uj Dispose metodu i tu ocisti prvo memoriju od referenci na excel COM objekte pa pozovi ovu metodu.

Code:

 #region KILLING HANGING EXCEL PROCESSES
        
        [DllImport ("user32.dll")]
        static extern void EndTask(IntPtr hWnd);
        [DllImport("user32.dll")]
        static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
        [DllImport("user32.dll")]
        static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint lpdwProcessId);
        [DllImport("kernel32.dll")]
        static extern void SetLastError(uint dwErrCode);

        private void EnsureProcessKilled(IntPtr mainWindowHandle, string caption)
        {
            uint iRes, iProcID;
            
            SetLastError(0);
        
            if(IntPtr.Equals(mainWindowHandle, IntPtr.Zero))
                mainWindowHandle = FindWindow(null, caption);

            if(IntPtr.Equals(mainWindowHandle, IntPtr.Zero))
                return; 
            
            iRes = GetWindowThreadProcessId(mainWindowHandle, out iProcID);
            if (iProcID == 0)
            {
                EndTask(mainWindowHandle);
                if(Marshal.GetLastWin32Error() != 0)
                    return;
                throw new ApplicationException("Failed to close Excel Process.");
            }
           
            Process proc = Process.GetProcessById((int)iProcID);
            proc.CloseMainWindow();
            proc.Refresh();
            if(proc.HasExited)
                return;

            proc.Kill();
        }

 #endregion
 
Odgovor na temu

anakin14

Član broj: 73683
Poruke: 862
*.dynamic.sbb.co.yu.



+133 Profil

icon Re: pocetnik pomoc oko aplikacije09.10.2007. u 00:05 - pre 158 meseci
a moze li mi neko objasniti kako da povezem datagridview sa excel fajlom da se pri otvaranju aplikacije podaci iza tabele u excelu vide u datagridvew-u
Puno hvala.
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
*.adsl.net.t-com.hr.



+19 Profil

icon Re: pocetnik pomoc oko aplikacije09.10.2007. u 12:19 - pre 158 meseci
isto čitaš podatke iz excella kao i iz baze.samo što ti prvi puni red doda u nazive kolona pa moraš paziti.
 
Odgovor na temu

anakin14

Član broj: 73683
Poruke: 862
*.dynamic.sbb.co.yu.



+133 Profil

icon Re: pocetnik pomoc oko aplikacije09.10.2007. u 14:18 - pre 158 meseci
Code:

Imports System.Data
Imports System.Data.OleDb
Public Class Form1

    Dim ap As New Microsoft.Office.Interop.Excel.Application
    Dim file As String
    Dim ConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=e:\proba.xls; Extended Properties=Excel 11.0;"
    Dim MyConnection As System.Data.OleDb.OleDbConnection
    Dim da As System.Data.OleDb.OleDbDataAdapter
    Dim ds As DataSet = New DataSet

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        
        MyConnection = New System.Data.OleDb.OleDbConnection(ConnString)
        da = New System.Data.OleDb.OleDbDataAdapter("select * from [sheet1$]", MyConnection)
        da.Fill(ds, "[sheet1$]")
        DataGridView1.DataSource = ds.DefaultViewManager



javlja mi gresku?
gde gresim?
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
*.adsl.net.t-com.hr.



+19 Profil

icon Re: pocetnik pomoc oko aplikacije09.10.2007. u 15:11 - pre 158 meseci
Public Class Form1

Dim cs As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\a.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"""
Dim c As New OleDb.OleDbConnection(cs)

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim a As New OleDb.OleDbDataAdapter("SELECT * FROM [List1$] ", c)
Dim d As New DataTable

a.Fill(d)

DataGridview1.DataSource = d


End Sub

End Class
 
Odgovor na temu

anakin14

Član broj: 73683
Poruke: 862
*.dynamic.sbb.co.yu.



+133 Profil

icon Re: pocetnik pomoc oko aplikacije09.10.2007. u 23:41 - pre 158 meseci
Hvala marko, a kako da namesti m da mi datagridview menja dimenziju u zavisnosti od popunjenosti - znaci ako nije ceo popunjen da ne bude viska a ako ima vise podataka da se sam prosiri?
puno hvala!
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
*.adsl.net.t-com.hr.



+19 Profil

icon Re: pocetnik pomoc oko aplikacije10.10.2007. u 08:43 - pre 157 meseci
ja mislim da imaš negdje u svojstvima.widht i height kod cells ili kod rows, malo se igraj.
 
Odgovor na temu

anakin14

Član broj: 73683
Poruke: 862
*.dynamic.sbb.co.yu.



+133 Profil

icon Re: pocetnik pomoc oko aplikacije10.10.2007. u 18:00 - pre 157 meseci
Hvala na odgovorima!
A kako da namestim da prilikom unosa novih podataka u sheet1 na dugme unesi se azurira i sadrzaj datagrida??? sve sam pokusao ali ne vredi!
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
*.adsl.net.t-com.hr.



+19 Profil

icon Re: pocetnik pomoc oko aplikacije10.10.2007. u 20:11 - pre 157 meseci
kako?
d.clear() -brise datatable ja mislim da tako ide, ne znam napamet.
recimo na klik ti ubacis.
i ovdje opet stavis kod za citanje i on ti sve prikaze u datagridu.
to je dobro ako je podataka malo, ali ako je iznad 50000 ovo se ne preporuca.
i jo nesto.
kod se u biti ne bi smio ponavljati.
morao bi imati jedan potprogram za citanje, kojeg pozoves u jednom i drugom slucaju i to je to, a prije toga moras obrisati sadrzaj datatable-a.
 
Odgovor na temu

anakin14

Član broj: 73683
Poruke: 862
*.dynamic.sbb.co.yu.



+133 Profil

icon Re: pocetnik pomoc oko aplikacije10.10.2007. u 20:20 - pre 157 meseci
problem je bio u sledecem, to sam ja uprav i uradio ali nije htelo, onda sam ubacio posle svakog unosa liniju
ap.activeworkbooks.save()

i onda je radilo kako treba,jer je kod uvek citao fajl koji je u direktorijumu a kada menjas podatke u excelu dok ne zapamtis taj fajl se ne menja vec samo onaj u aktivnoj memoriji.
 
Odgovor na temu

[es] :: .NET :: pocetnik pomoc oko aplikacije

[ Pregleda: 2057 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.