begin process at 2012 02 14 22:46:43
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Windows

 > 

ActiveX / COM

 > 

Excel workbook streaming


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales