alloea io ho fatto questo....ma c'e' un problema che scrivo alla fine:
Protected Sub Button14_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button14.Click
Dim ServerString As String = "Server=localhost;User Id=root;Password=*****;Database=db"
Dim SQLCon As MySqlConnection = New MySqlConnection
SQLCon.ConnectionString = ServerString
Try
If SQLCon.State = ConnectionState.Closed Then
SQLCon.Open()
Else
SQLCon.Close()
End If
Catch ex As Exception
MsgBox(ex.ToString)
End Try
Dim Solo_Stock As String
Solo_Stock = "S"
da = New MySqlDataAdapter("SELECT * FROM database where stato = '" & Solo_Stock & "' ", SQLCon)
Dim ds As New DataTable
da.Fill(ds)
DatatableToExcel(ds)
SQLCon.Close()
End Sub
questa è la funzione
Private Sub DatatableToExcel(ByVal dtTemp As DataTable)
Dim _excel As New Microsoft.Office.Interop.Excel.Application
Dim wBook As Microsoft.Office.Interop.Excel.Workbook
Dim wSheet As Microsoft.Office.Interop.Excel.Worksheet
wBook = _excel.Workbooks.Add()
wSheet = wBook.ActiveSheet()
Dim dt As System.Data.DataTable = dtTemp
Dim dc As System.Data.DataColumn
Dim dr As System.Data.DataRow
Dim colIndex As Integer = 0
Dim rowIndex As Integer = 0
For Each dc In dt.Columns
colIndex = colIndex + 1
_excel.Cells(1, colIndex) = dc.ColumnName
Next
For Each dr In dt.Rows
rowIndex = rowIndex + 1
colIndex = 0
For Each dc In dt.Columns
colIndex = colIndex + 1
_excel.Cells(rowIndex + 1, colIndex) = dr(dc.ColumnName)
Next
Next
wSheet.Columns.AutoFit()
Dim strFileName As String = "~/miofile.xlsx"
If System.IO.File.Exists(strFileName) Then
System.IO.File.Delete(strFileName)
End If
wBook.SaveAs(strFileName)
wBook.Close()
_excel.Quit()
End Sub
chiaramente ho impostato
Imports Excel = Microsoft.Office.Interop.Excel
ma mi da un errore alla fine dell'elaborazione e precisamente quando deve scrivere il file sul disco sulla riga 309 che vedete mensionata di seguito:
Errore server nell'applicazione '/'.
Impossibile accedere al file "C:\Users\nando\Documents\~\C6F1A000". I motivi possibili sono:
• Il nome o il percorso del file non esiste.
• Il file è utilizzato da un altro programma.
• Il nome della cartella di lavoro che si sta tentando di salvare corrisponde a quello di una cartella di lavoro attualmente aperta.
Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere la traccia dello stack.
Dettagli eccezione: System.Runtime.InteropServices.COMException: Impossibile accedere al file "C:\Users\nando\Documents\~\C6F1A000". I motivi possibili sono:
• Il nome o il percorso del file non esiste.
• Il file è utilizzato da un altro programma.
• Il nome della cartella di lavoro che si sta tentando di salvare corrisponde a quello di una cartella di lavoro attualmente aperta.
Errore nel codice sorgente:
Riga 307: End If
Riga 308:
Riga 309: wBook.SaveAs(strFileName)
Riga 310: wBook.Close()
Riga 311: _excel.Quit()
è da considerare che comunque non mi ha scritto nulla sul disco.
Inoltre faccio presente che io ho necessità che una volta che creo il file all'utente Client venga proposto di aprire il file excel o salvarlo.
attendo un prezioso aiuto grazie. e saluti
Nando