Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - problema datagrid e excel
Forum - C# / VB.NET - problema datagrid e excel

Avatar
antoniobar (Normal User)
Newbie


Messaggi: 18
Iscritto: 09/09/2012

Segnala al moderatore
Postato alle 13:25
Mercoledì, 13/03/2013
Salve, ho questo codice che mi permette di aprire un file di testo e dividerlo in una datagrid e salvarlo in excel!!! Ma mi dà errori: se il file di testo ha delle linee troppo lunghe non li visualizza nella datagrid e nel file excel mi salva soltanto le linee con lunghezza fissa altrimenti mi dà errore!!!


Imports Microsoft.Office.Interop.Excel
Imports System.Text
Public Class data
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        OpenFileDialog1.ShowDialog()
        Dim fname As String = OpenFileDialog1.FileName
        If System.IO.File.Exists(fname) Then
            Dim read As New System.IO.StreamReader(fname)
            TextBox1.Text = read.ReadToEnd
            read.Close()
            TextBox1.Text = OpenFileDialog1.FileName
        End If
        Dim leggi As New System.IO.StreamReader(TextBox1.Text, Encoding.GetEncoding(1252))
        Dim riga As String
        Dim dividi() As String
        Do While leggi.Peek() <> -1
            riga = leggi.ReadLine()
            dividi = Split(riga, "-") 'separatore  
            DataGridView1.ColumnCount = dividi.Count 'creo numero di colonne in base al testo
            DataGridView1.Rows.Add(dividi)
        Loop
    End Sub
    Private Sub VisualizzaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VisualizzaToolStripMenuItem.Click
        Me.Hide()
        pro.Show()
    End Sub

    Private Sub EsciToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EsciToolStripMenuItem.Click
        Me.Hide()
    End Sub
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim programma As Application
        Dim cartella As Workbook
        Dim foglio As Worksheet
        programma = CreateObject("excel.application")
        programma.Visible = True
        cartella = programma.Workbooks.Add
        foglio = cartella.ActiveSheet
        Dim a As Integer
        Dim b As Integer
        Dim testo As String
        For a = 0 To DataGridView1.RowCount - 2
            testo = ""
            For b = 0 To 9
                foglio.Cells(a + 1, b + 1) = DataGridView1.Rows(a).Cells(b).Value
            Next
        Next
    End Sub
End Class

PM Quote
Avatar
antoniobar (Normal User)
Newbie


Messaggi: 18
Iscritto: 09/09/2012

Segnala al moderatore
Postato alle 19:16
Giovedì, 14/03/2013
qualcuno mi aiuta?????grazie

PM Quote
Avatar
Renny (Normal User)
Expert


Messaggi: 231
Iscritto: 30/07/2011

Segnala al moderatore
Postato alle 20:11
Giovedì, 14/03/2013
Hai provato mettendo:
Codice sorgente - presumibilmente Plain Text

  1. foglio.Cells(a + 1, b + 1).Value2 = DataGridView1.Rows(a).Cells(b).Value


?
Comunque dovresti specificare cosa intendi per "mi da errore".. appare un messaggio in particolare o il codice non fa quello che chiedi?
Se cerchi su google ci sono svariati esempi di come si esporta i dati da datagrid a excel...

PM Quote