ASP.NET - export dat do xls   zodpovězená otázka

ASP.NET WebForms

Dobrý den,

řeším problém jak exportovat data z databáze přes ASP.NET aplikaci do xls ( nejlépe pomocí SqlDataSource ). Našel jsem metodu jak to udělat z GridView ale potřebuji exportovat cca 1200 záznamů a při načítání se excel 2010 kousne ( také se do sešitu načítá i formátování GridView ). Díky za radu.

Zatím to řeším takto:

Private Sub ExportToExcel(ByVal strFileName As String, ByVal dg As GridView)
        Response.Clear()
        Response.Buffer = True

        Response.ContentType = "application/vnd.ms-excel"
        Response.Charset = ""
        Me.EnableViewState = False
        Dim oStringWriter As New System.IO.StringWriter
        Dim oHtmlTextWriter As New System.Web.UI.HtmlTextWriter(oStringWriter)

        GridView1.RenderControl(oHtmlTextWriter)

        Response.Write(oStringWriter.ToString())
        Response.[End]()

    End Sub
    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        ExportToExcel("Report.xls", GridView1)
    End Sub 
nahlásit spamnahlásit spam 0 odpovědětodpovědět

http://www.codeproject.com/Articles/1645...

nebo lépe

http://blogs.msdn.com/b/erikaehrli/archi...

Stačí trochu hledat ;-)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nevím, jestli je dobrý nápad exportovat do Excelu 1200 řádků přes HTML export, to zas tak rychlé a výkonné není.

Pokud nepotřebujete formátování, vygenerujte CSV soubor, pokud ano, tak na to používám knihovnu NPOI (umí generovat nativní XLS) a až na pár problémů funguje celkem dobře.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

To přesně potřebuji.

něco jsem o tom našel

http://blog.imp.cz/post/2011/01/16/Gener...

tak se s tím proberu.

Budu rád za ev. i další návody.

Díky

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jen pozor, ta knihovna není na velkých souborech nějak extrémně rychlá, od 10000 řádků to začíná zlobit.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Další možností je z ASP.NET generovat XML a to v Excelu přímo importovat.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback