Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Datagrid till Excel funkar på vissa datorer

Postades av 2005-10-21 14:58:41 - Jonas Persson, i forum asp.net generellt, Tråden har 8 Kommentarer och lästs av 627 personer

Hej, har ett problem jag inte hittar någon lösning på. Jag exporterar en datagrid till Excel enligt nedanstående kod. Funkar utmärkt till min dator men inte till en annan där sidan istället öppnas som en slags html sida.
<code>
Response.Clear()
Response.Charset = ""
Response.ContentType = "application/vnd.ms-excel"
Response.Cache.SetCacheability(HttpCacheability.NoCache)
Me.EnableViewState = False
Dim tw As New System.IO.StringWriter
Dim hw As New System.Web.UI.HtmlTextWriter(tw)
dgLager.RenderControl(hw)
Response.Write(tw.ToString)
Response.End()
</code>
Samma effekt kan jag uppnå på min dator om jag skriver stringwriter'n till en label enl nedan
<code>
Response.Clear()
Response.Charset = ""
Response.ContentType = "application/vnd.ms-excel"
Response.Cache.SetCacheability(HttpCacheability.NoCache)
Me.EnableViewState = False
Dim tw As New System.IO.StringWriter
Dim hw As New System.Web.UI.HtmlTextWriter(tw)
dgLager.RenderControl(hw)
Label1.Text = tw.ToString
</code>

Samma operativ och Excelversion på båda datorerna. Jag har letat efter någon inställning i Excel som kan förklara detta men inte hittat något. Någon som har en aning om vad det kan bero på?






Svara

Sv: Datagrid till Excel funkar på vissa datorer

Postades av 2005-10-21 15:14:39 - Ola Lindfeldt

Det kan vara detta:


Det är en inställning som hänger på filtillägget '.xls' i Windows.

Ändras så här:

I Utforskaren: Meny Verktyg -> Mappalternativ -> Filtyper
-> Välj "XLS" -> Avancerat -> Bocka av "Visa i samma fönster"



Svara

Sv:Datagrid till Excel funkar på vissa datorer

Postades av 2005-10-21 15:51:57 - Jonas Persson

Den ändringen har jag tyvärr redan provat. Skillnaden mellan att ha den i och urbockad verkar vara att sidan öppnas i IE resp Excel. Vad som visas påverkas dock inte.


Svara

Sv: Datagrid till Excel funkar på vissa datorer

Postades av 2005-10-21 19:45:10 - Pelle Johansson

Byt ut response.write mot

Response.BinaryWrite(tw.ToString)
Response.Flush()


Svara

Sv:Datagrid till Excel funkar på vissa datorer

Postades av 2005-10-24 13:47:59 - Jonas Persson

Vet inte om jag gjorde som du menade men fick felmess "Invalid character in a Base-64 string". Kod enl följande
<code>
Response.Clear()
Response.Charset = ""
Response.ContentType = "application/vnd.ms-excel"
Response.Cache.SetCacheability(HttpCacheability.NoCache)
Me.EnableViewState = False
Dim tw As New System.IO.StringWriter
Dim hw As New System.Web.UI.HtmlTextWriter(tw)
Dim bArr As Byte()
dgrubrik.RenderControl(hw)
dgLager.RenderControl(hw)
bArr = Convert.FromBase64String(tw.ToString)
Response.BinaryWrite(bArr)
'Response.Write(tw.ToString)
Response.Flush()
Response.End()
</code>


Svara

Sv: Datagrid till Excel funkar på vissa datorer

Postades av 2005-10-24 22:52:52 - Pelle Johansson

testa att ta bort denna rad: bArr = Convert.FromBase64String(tw.ToString)


Svara

Sv:Datagrid till Excel funkar på vissa datorer

Postades av 2005-10-25 08:26:45 - Jonas Persson

Den har jag bara med för att kunna använda Response.BinaryWrite, har för tydlighetens skull deklarerat den på en egen rad.


Svara

Sv: Datagrid till Excel funkar på vissa datorer

Postades av 2005-10-25 17:46:50 - Pelle Johansson


        ' http-header som tolkas av IE att det är en excelfil som kommer
        Response.ContentType = "application/vnd.ms-excel"

        ' se till att åäö fungerar
        Response.Charset = "iso-8859-1"
        Response.ContentEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1")

        ' bestäm filnamn till klienten
        Response.AddHeader("Content-Disposition", "attachment;filename=test_excel.xls")

        Me.EnableViewState = False

        ' skapar ett objekt för att lagra datat från datagrid till sträng
        Dim tw As New System.IO.StringWriter
        Dim hw As New System.Web.UI.HtmlTextWriter(tw)

        ' hämta data
        Dim ds As DataSet = routines.ReturnDataset("select * from customers")

        ' fyll dataset till en datagrid för att få ut formatering
        Dim dgrid As New DataGrid
        dgrid.DataSource = ds
        dgrid.DataBind()

        ' Hämta ut html ur datagrid
        dgrid.RenderControl(hw)

        ' Skriv html-datat till klienten
        Response.Write(tw.ToString())

        ' Töm utdatat och avsluta utmatning av data
        Response.Flush()
        Response.End()


Svara

Sv:Datagrid till Excel funkar på vissa datorer

Postades av 2005-10-26 11:36:26 - Jonas Persson

Verkar funka!
Det som gjorde susen var att lägga till "Content-Disposition". På min dator funkade det oavsett om detta var med eller inte men på vissa andra krävdes det. Tack för hjälpen!


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 606
27 953
271 705
881
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies