Export obsahu stránky v ASP.NET
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Export obsahu stránky v ASP.NETExport obsahu stránky v ASP.NET

 
Hledat
Vybavení pro Laser Game
Spuštěn Filmový magazín
Laser Game Brno
Pergoly a střechy Brno

Export obsahu stránky v ASP.NET

Google       Google       23. 6. 2007       13 661×

Jednoduchý tip ako exportovať (konkrétny) obsah stránky do určitého formátu.

Reklama
Reklama

Export obsahu webovej stránky do nejakého formátu za účelom uloženia je užitočnou funkciou napríklad aj tohto e-zinu. Implementácia exportu v technológii ASP.NET s použitím jazyka C# je jednoduchá záležitosť, ako je to možné vidieť na nasledujúcich riadkoch.

Stránka a obsah

Vo väčšine prípadoch sa neexportuje celá stránka kvôli postranným panelom, ako je napríklad menu. Potrebný obsah je preto najlepšie mať predformátovaný, a tak pripravený na možnosť jeho exportu ako nezávislej časti. Jeden zo spôsobov, ako to dosiahnuť, je napríklad použitie User controlu alebo PlaceHolderu.

Príklad exportu ovládacieho prvku

Majme nasledujúci kúsok kódu, v ktorom chceme exportovať tabuľku do HTML súboru po kliknutí na button:

<table id="tblToExport" runat="server">
    <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
    </tr>
    <tr>
        <td>4</td>
        <td>5</td>
        <td>6</td>
    </tr>
    <tr>
        <td>7</td>
        <td>8</td>
        <td>9</td>
    </tr>
</table>
    
<br />
        
<asp:Button ID="btnExport" runat="server" Text="Export" OnClick="btnExport_Click" />

V globále sa získanie požadovaného obsahu zo stránky deje na základe ID ovládacieho prvku a StringWriteru. Prvok sa nechá vyrenderovať pomocou metódy RenderControl do objektu typu HtmlTextWriter, ktorému sa určí StringWriter ako parameter pri vytváraní objektu.

System.IO.StringWriter sw = new System.IO.StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
tblToExport.RenderControl(hw);

Teraz je tabuľka v objekte sw. Spojazdnenie samotného exportu sa skladá zo zopár úkonov s triedou HttpResponse, ako je vyčistenie buffera, určenie typu obsahu a kódovania, pridelenie záhlavia a samotný zápis reťazca do výstupného prúdu. Po týchto príkazoch bude vyzerať event handler kliknutia na button nasledovne:

protected void btnExport_Click(object sender, EventArgs ea)
{
    // vycisti buffer
    Response.Clear();
    // urcenie typu obsahu
    Response.ContentType = "text/html";
    // kodovanie obsahu
    Response.ContentEncoding = System.Text.Encoding.UTF8;
    // zahlavie
    Response.AddHeader("content-disposition", "attachment;filename=table.html");

    // ziskanie obsahu prvku
    System.IO.StringWriter sw = new System.IO.StringWriter();
    HtmlTextWriter hw = new HtmlTextWriter(sw);
    tblToExport.RenderControl(hw);

    // zapis do vystupneho prudu 
    Response.Write(sw.ToString());
    // ukoncenie
    Response.End();
}

V záhlaví je prvý parameter názov HTTP headera, do ktorého sa následne pridá hodnota predstavujúca druhý parameter. V tomto prípade ide o prílohu s názvom súboru table.html.

Ako typ obsahu sa dá určiť napríklad "application/ms-excel" a prípona súboru .xls. Týmto spôsobom bude exportovaný súbor možné otvoriť v Exceli, ktorý html syntax prekonvertuje na svoje použitie (aj keď sa nebude jednať priamo o excelovský súbor vzhľadom na to, že excel vytvára binárne súbory).

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
Autor je studentom FEI STU v Bratislave, odbor Aplikovana Informatika a vo svojom volnom case sa zaobera hlavne programovanim a rad sportuje.
Web    

Nové články

Obrázek ke článku Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Za poslední rok se podoba práce zaměstnanců změnila k nepoznání. Především plošné zavedení home office, které mělo být zpočátku jen dočasným opatřením, je pro mnohé už více než rok každodenní realitou. Co ale dělat, když se při práci z domova ztrácí motivace, zaměstnanci přestávají komunikovat a dříve fungující tým se rozpadá na skupinu solitérů? Odborníci na personalistiku dali dohromady několik rad, jak udržet tým v chodu, i když pracovní podmínky nejsou ideální.

Reklama
Reklama
Obrázek ke článku Konference: Moderní informační systémy podporují automatizaci

Konference: Moderní informační systémy podporují automatizaci

Současná situace v šíření onemocnění Covid-19 klade na řadu firem nové nároky a mnohé z nich jsou nyní více než kdy jindy závislé na nejmodernějších informačních technologiích. Proto i v oblasti podnikových informačních systémů vidíme rostoucí důraz na automatizaci nebo na důslednou integraci. Také o těchto trendech se bude mluvit na konferenci Firemní informační systémy, která se koná 24.9.2020 v pražském Kongresovém centru Vavruška na Karlově náměstí.

Obrázek ke článku Nebezpečí ukrytá v USB: z nuly na škvarek za pět sekund

Nebezpečí ukrytá v USB: z nuly na škvarek za pět sekund

Za cenu šesti dolarů lze celkem bez obtíží koupit nový, líbivě vyhlížející flash disk. Přidaná hodnota, které se vám spolu s ním dostane, už tak moc líbivá není. To, co se před pár sekundami tvářilo jako externí disk, se po připojení k počítači změní v důmyslné elektrické křeslo, které vaše zařízení v onen příslovečný škvarek promění za pár sekund. Cílovou skupinou pro koupi takových zařízení by mohli být záškodníci, kteří by tímto způsobem osnovali pomstu třeba vůči záletnému partnerovi. 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032021 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý