importet fichier texte csv vers excel
bonjour
on se perd dans vb.net parbleu ,il n'y a pas à sortir l'artillerie lourd .
streamreader fait le boulot:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
Imports Excel = Microsoft.Office.Interop.Excel
Import System.FileIO
Using MyReader As New _
Microsoft.VisualBasic.FileIO.TextFieldParser("c:ex47.csv")
'-------cree un classeur de meme nom---------
Dim appExcel As Excel.Application
appExcel = new Excel.Application
Dim wbExcel As Excel.Workbook 'Classeur Excel
wbExcel = appExcel.Workbooks.Add("c:ex47.xls")
'acceder 1ere feuille
Dim wbFeuille as Excel.WorkSheet
wbFeuille = wbExcel.WorkSheet(1)
'-------------ouverture fichier texte & lecture ---------
MyReader.TextFieldType = FileIO.FieldType.Delimited
MyReader.SetDelimiters("#")
'ligne lue
Dim currentRow As String()
Dim lig as integer =1
While Not MyReader.EndOfData
Try
currentRow = MyReader.ReadFields()
'champ lu
Dim col as integer =1
Dim currentField As String
For Each currentField In currentRow
wbFeuille.cells(lig,col).value=currentField
'colonne suivante
col=col+1
Next
Catch ex As Microsoft.VisualBasic.FileIO.MalformedLineException
MsgBox("Line " & ex.Message & _
"is not valid and will be skipped.")
End Try
'ligne suivante
lig=lig+1
End While
wbExcel.SaveAs(Filename:= _
"C:\ex47xl.xls", FileFormat:=Excel.XlFileFormat.xlExcel8, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
End Using |
bon code.............
excel reste ouvert,dechets de deboguage
bonjour
a chaque fois que nous deboguons,si on lance excel et que ca crashe ,excel reste en memoire. Et de 1
on arreter dans debug mais on oublie qu'"un excel " est entrain de tourner.
on corrige et comme des braves on lance debug et ca crashe.et de 2.
on oublie et rebelote.
aussi quand on programme,il faut constamment avoir à l'esprit que losque il y a un ratage,de ne pas oublier d'arreter excel dans le gestionnaire de tache.
c'est la corvee...
a bon entendeur
bon code....