Esportare solo alcuni dati di una datagridview in un file Excel

di ribelle il
4 risposte
Salve,
ho una datagridview con dei dati e ho creato una routine per esportazione in un file excel.
Tutto funziona.

Ho aggiunto alcune checkbox che mi permettono di scegliere quali colonne visualizzare e nascondere, ma quando faccio l'esportazione vengono inviati tutti i dati della dgv mentre io vorrei esportare solo le colonne che ho scelto di vedere a video.

Nell'occasione vorrei anche sapere, per un'altra funzione, come esportare solo le righe eventualmente selezionate anziché tutte.

Grazie mille.

4 Risposte

  • Non si se hai scritto tu il codice per l'esportazione. Comunque ti basta modificarlo controllando lo stato della colonna che stai stampando prima di inviarlo.

    Mostra il codice e indica tu il punto in cui fare questo controllo.
  • Il codice è questo:
    
    
    
     Dim app As Microsoft.Office.Interop.Excel._Application = New Microsoft.Office.Interop.Excel.Application()
    
                ' creo una nuova Cartella di lavoro in Excel
    
               Dim workbook As Microsoft.Office.Interop.Excel._Workbook = app.Workbooks.Add()
    
    
    
                ' creo un nuovo foglio nella Cartella di lavoro
    
                Dim worksheet As Microsoft.Office.Interop.Excel._Worksheet = Nothing
    
    
    
                ' ottengo i riferimenti del primo foglio. 
    
              
    
                worksheet = workbook.Sheets("Foglio1")
    
      ' archivio i suoi riferimenti nel foglio
    
                worksheet = workbook.ActiveSheet
    
    
    
    
                ' archiviare la parte Intestazione
    
                For i As Integer = 1 To dgvTraffico.Columns.Count
    
                    worksheet.Cells(1, i) = dgvTraffico.Columns(i - 1).HeaderText
    
                Next
    
    
                ' archivio il valore di ogni riga e colonna nel foglio
    
                For i As Integer = 0 To dgvTraffico.Rows.Count - 1
    
                    For j As Integer = 0 To dgvTraffico.Columns.Count - 1
    
                        worksheet.Cells(i + 2, j + 1).NumberFormat = "@"
    
                        worksheet.Cells(i + 2, j + 1) = dgvTraffico.Rows(i).Cells(j).Value.ToString()
    
                    Next
                Next
    
            ' rendo visibile il foglio alla fine dell'elaborazione
    
                app.Visible = True
    
  • Lo hai scritto tu?

    Dove usi la dgvTraffico, fai i controlli per capire se i dati sono visibili prima di assegnarli alle celle di Excel
  • Ok ora provo grazie
Devi accedere o registrarti per scrivere nel forum
4 risposte