新公司,新接触,老方法,更实用。
之前接触过Webform,winfrom 的导出Excel方法 ,优点:省事。缺点:服务器必须安装Office
这几天做项目 和 大牛学习了一下 新的方法,自己加以总结。希望更多的博友获益。不多说 。先上图,后上源码。
很简单的MVC4 的页面 献丑了
效果图
你猜了对了 我用的是 ClosedXml、NPOI 不是很新的东西!
看看代码怎么实现吧 !
1、工厂封装直接调用:
1 public class ExportFactory 2 { 3 public static byte[] exportToExcel(string type) 4 { 5 byte[] bytes = null; 6 switch (type.ToLower()) 7 { 8 case "npoi": 9 bytes = NpoiExcelHelp.GenerateXlsxBytes(GetHtml()); 10 break; 11 case "closexml": 12 bytes = ClosedXmlExcelHelp.GenerateXlsxBytes(GetHtml()); 13 break; 14 default: 15 break; 16 } 17 return bytes; 18 } 19 20 static string GetHtml() 21 { 22 StringBuilder strHtml = new StringBuilder(); 23 strHtml.Append("<table>"); 24 strHtml.Append("<tr>"); 25 strHtml.Append("<td rowspan='2'>First Row/First Colunm</td>"); 26 strHtml.Append("<td>Second Row/First Colunm</td>"); 27 strHtml.Append("</tr>"); 28 strHtml.Append("<tr>"); 29 strHtml.Append("<td>First Row/Second Colunm</td>"); 30 strHtml.Append("</tr>"); 31 strHtml.Append("<tr>"); 32 strHtml.Append("<td>Second Row/Second Colunm</td>"); 33 strHtml.Append("<td>Third Row/Second Colunm</td>"); 34 strHtml.Append("</tr>"); 35 strHtml.Append("</table>"); 36 return strHtml.ToString(); 37 } 38 }