Accueil > Forum > > > > Excel workbook streaming
Excel workbook streaming
mardi 3 avril 2007 à 15:37:43 |
Excel workbook streaming

HolyDev
|
Salut, voila le truc consiste à envoyer un fichier excel (response.write). Je ne veux pas modifier le fichier original qui est un modèle donc pour le moment j'enregistre les modif dans un fichier temporaire que j'envoie puis que je supprime. Je voudrais ne pas avoir à créer ce fichier sur le disque et donc faire passer le workbook ds un stream. Mais là je bloque alors si qq à une idée ou une piste elle sera la bienvenue
Voila un bout de code pour bien comprendre
Imports System.Runtime.InteropServices.Marshal Imports Microsoft.Office.Interop.Excel Imports System.IO
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim xlsApp As New Application Dim xlsClasseur As Workbook = xlsApp.Workbooks.Open(Server.MapPath(Request.ApplicationPath) & "\ExcelFile.xls") Dim xlsFeuille As Worksheet = xlsClasseur.Sheets.Item("Feuil1")
xlsApp.DisplayAlerts = False xlsApp.Visible = False
Dim i As Integer
Dim xlsCell As Range = xlsFeuille.Cells(1, 1) TextBox1.Text = xlsCell.Text
For i = 1 To 6 xlsCell = xlsFeuille.Cells(6, i) xlsCell.Value2 = "Value : " & i Next
'Dim excelHTML As String = xlsClasseur.HTMLProject.HTMLProjectItems.Item(1).Text
Dim xlsCheminTempClasseur As String = Server.MapPath(Request.ApplicationPath) & "\" & Guid.NewGuid().ToString() & ".xls" xlsClasseur.SaveAs(xlsCheminTempClasseur) 'c'est là que je voudrais enregistrer ds un stream
xlsClasseur.Close() xlsApp.Quit()
ReleaseComObject(xlsCell) ReleaseComObject(xlsFeuille) ReleaseComObject(xlsClasseur) ReleaseComObject(xlsApp)
xlsApp = Nothing xlsClasseur = Nothing xlsFeuille = Nothing xlsCell = Nothing
System.GC.Collect()
Dim leFlux As IO.FileStream leFlux = New IO.FileStream(xlsCheminTempClasseur, IO.FileMode.Open)
Response.Buffer = True Response.Clear() Response.ContentType = "application/vnd.ms-excel" Response.AddHeader("Content-Disposition", "attachment; filename=" & "myFile" & ".xls") Response.AddHeader("Content-Lenght", leFlux.Length)
Dim Buffer(CType(leFlux.Length, Long)) As Byte leFlux.Read(Buffer, 0, CInt(leFlux.Length)) leFlux.Close() If System.IO.File.Exists(xlsCheminTempClasseur) = True Then System.IO.File.Delete(xlsCheminTempClasseur) End If
Response.BinaryWrite(Buffer) Response.Flush() Response.End()
End Sub
VB is my cup of tea !!! [;)]
|
|
Cette discussion est classée dans : system, response, xlsapp, xlsclasseur, leflux
Répondre à ce message
Sujets en rapport avec ce message
Dossier systeme [ par pti_vince ]
bonjour, je voudrais savoir comment faire pour trouver le chemin du dossier systeme d'un ordisi NT = WINNT\Systemsi 95 = WINDOWS\SYSTEMetc..., existe
Avis a tous checkspell [ par JJJKILLER ]
J'ai créé un system de checkspell (corecteur ortho) et j'aimerai qu'on m'aide a constituer un dico.Si je reussi a ateindre 10 000 mots je mets le syst
Comment savoir si le system utilise les nombres avec des , ou des . [ par fredo ]
Bonjour,Comment savoir si le système utilise des nombres avec une virgle (Ex : 234,32) ou si le système utilise des nombres avec un point (Ex : 234.32
Obtenir le répertoire system ? [ par alain ]
Comment peut-on obtenir le répertoire system ? (ex : C:\windows\...)Merci.Alain.
Comment lancer le panneau system.... [ par Nico ]
Salut j'aurai voulu savoir la commande pour pouvoir lancer le panneau system a partir de vb5...Merci bcpet a+ sur cet excellent site ;)
Comment dois-je faire pour que mon programme fonctionne uniquement dans le system tray ? [ par TheWaxWeaZle ]
Comment dois-je faire pour que mon programme fonctionne uniquement dans le system tray et que je l'utilise que par le clique droite pour ces fonction
info fichier [ par Red-Blood ]
Existe t il un moyen d'ouvrir un fichier en addresse simplifier comme \system au lieu de c:\windows\system merci
HELP***: ASP:La méthode Metarefresh de l'objet Response !!!!!*** [ par alex ]
Salut, D'abord bravo pour le site...il y plein d'exemples de sources...cé riche et cé cool!!!!Je voudrais savoir où je peux trouver des explications s
Changer l'état des touches system sous XP (ou 2000) [ par Dede ]
Bonjour à tous.Comment faire pour capter et au besoin changer l'état des touches system sous Window XP ou 2000, soit par API, soit par OCX.Les APIs so
Changer l'état des touches system sous XP (ou 2000) [ par Dede ]
Bonjour à tous.Comment faire pour capter et au besoin changer l'état des touches system sous Window XP ou 2000, soit par API, soit par OCX.Les APIs so
Livres en rapport
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|