/ / Envoyer des tableaux HTML à plusieurs feuilles Excel - c #, html, excel

Envoyer des tableaux HTML à plusieurs feuilles Excel - c #, html, excel

J'ai deux tableaux html que j'aimerais mettre dans 2 feuilles différentes du même fichier Excel. J'utilise ASP.net MVC3 et j'envoie un FileResult sur ma page.

Le FileResult contient les éléments suivants (moins le générateur de chaînes):

        StringBuilder sb = new StringBuilder();
sb.Append("<html xmlns:x="urn:schemas-microsoft-com:office:excel">");
sb.Append("<head>");
sb.Append("<meta http-equiv="Content-Type" content="text/html;charset=windows-1252">");
sb.Append("<!--[if gte mso 9]>");
sb.Append("<xml>");
sb.Append("<x:ExcelWorkbook>");
sb.Append("<x:ExcelWorksheets>");
sb.Append("<x:ExcelWorksheet>");
sb.Append(String.Format("<x:Name>{0}</x:Name>", ExcelSheetName));
sb.Append("<x:WorksheetOptions>");
sb.Append("<x:Panes></x:Panes>");
sb.Append("</x:WorksheetOptions>");
sb.Append("</x:ExcelWorksheet>");

// sheet 2
sb.Append("<x:ExcelWorksheet>");
//sb.Append("<x:Table/>");
//sb.Append("<x:Column x:Width="500" />");
//sb.Append("<x:Column x:Width="500" />");
//sb.Append("</x:Table/>");
sb.Append(String.Format("<x:Name>Sheet2_Test</x:Name>"));
//sb.Append("<Table ss:ExpandedColumnCount="2" ss:ExpandedRowCount="5" x:FullColumns="1" x:FullRows="1">");
//sb.Append("<Row><Cell><Data ss:Type="String">Text in cell A1</Data></Cell></Row>");
//sb.Append("<Row><Cell ss:StyleID="s21"><Data ss:Type="String">Bold text in A2</Data></Cell></Row>");
//sb.Append("<Row ss:Index="4"><Cell ss:Index="2"><Data ss:Type="Number">43</Data></Cell></Row>");
//sb.Append("<Row><Cell ss:Index="2" ss:Formula="=R[-1]C/2"><Data ss:Type="Number">21.5</Data></Cell></Row>");
//sb.Append("</Table>");
sb.Append("<x:WorksheetOptions>");
sb.Append("<x:Panes></x:Panes>");
sb.Append("</x:WorksheetOptions>");
sb.Append("</x:ExcelWorksheet>");

sb.Append("</x:ExcelWorksheets>");
sb.Append("</x:ExcelWorkbook>");
sb.Append("</xml>");
sb.Append("<![endif]-->");

Ensuite, j'ajoute mes tables html et retourne le résultat. Cela fonctionne très bien et j'ai eu la 2e feuille à montrer, mais je ne peux pas comprendre comment écrire sur cette 2e feuille. Est-ce que quelqu'un sait comment écrire sur une 2ème feuille en utilisant cette méthode?

Réponses:

0 pour la réponse № 1

Chaque feuille doit avoir sa propre <Worksheet> élément. Chaque <Worksheet> le nœud a alors son propre <Table> élément, qui a un ou plusieurs <Row> éléments, qui a un ou plusieurs <Cell> éléments.