2012-05-01 36 views
1

我有兩個HTML表,我想放在同一個Excel文件的2張不同的表。我正在使用ASP.net MVC3並將FileResult發送到我的頁面。發送Html表到多個Excel表

的FileResult包含以下(減去字符串生成器):

 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]-->"); 

然後添加我的HTML表格並返回結果。它工作得很好,我得到了第二張紙,但我無法弄清楚如何寫入第二張紙。有誰知道如何使用這種方法寫入第二張紙?

回答

0

每張紙應該有自己的<Worksheet>元素。每個<Worksheet>節點然後具有其自己的<Table>元素,其具有一個或多個<Row>元素,其具有一個或多個<Cell>元素。