Csharp/C#教程:C#导出生成excel文件的方法小结(xml,html方式)分享

直接贴上代码,里面都有注释
代码如下:
///<summary>

       ///xml格式生成excel文件并存盘;
       ///</summary>
       ///<paramname=”page”>生成报表的页面,没有传null</param>
       ///<paramname=”dt”>数据表</param>
       ///<paramname=”TableTitle”>报表标题,sheet1名</param>
       ///<paramname=”fileName”>存盘文件名,全路径</param>
       ///<paramname=”IsDown”>生成文件后是否提示下载,只有web下才有效</param>
       publicstaticvoidCreateExcelByXml(System.Web.UI.Pagepage,DataTabledt,StringTableTitle,stringfileName,boolIsDown)
       {
           StringBuilderstrb=newStringBuilder();
           strb.Append(“<htmlxmlns:o=”urn:schemas-microsoft-com:office:office””);
           strb.Append(“xmlns:x=”urn:schemas-microsoft-com:office:excel””);
           strb.Append(“xmlns=””);
           strb.Append(“<head><metahttp-equiv=’Content-Type’content=’text/html;charset=UTF-8′>”);
           strb.Append(“<style>”);
           strb.Append(“body”);
           strb.Append(“{mso-style-parent:style0;”);
           strb.Append(“font-family:”TimesNewRoman”,serif;”);
           strb.Append(“mso-font-charset:0;”);
           strb.Append(“mso-number-format:”@”;}”);
           strb.Append(“table”);
           //strb.Append(“{border-collapse:collapse;margin:1em0;line-height:20px;font-size:12px;color:#222;margin:0px;}”);
           strb.Append(“{border-collapse:collapse;margin:1em0;line-height:20px;color:#222;margin:0px;}”);
           strb.Append(“theadtrtd”);
           strb.Append(“{background-color:#e3e6ea;color:#6e6e6e;text-align:center;font-size:14px;}”);
           strb.Append(“tbodytrtd”);
           strb.Append(“{font-size:12px;color:#666;}”);
           strb.Append(“</style>”);
           strb.Append(“<xml>”);
           strb.Append(“<x:ExcelWorkbook>”);
           strb.Append(“<x:ExcelWorksheets>”);
           strb.Append(“<x:ExcelWorksheet>”);
           //设置工作表sheet1的名称
           strb.Append(“<x:Name>”+TableTitle+”</x:Name>”);
           strb.Append(“<x:WorksheetOptions>”);
        &n bsp;  strb.Append(“<x:DefaultRowHeight>285</x:DefaultRowHeight>”);
           strb.Append(“<x:Selected/>”);
           strb.Append(“<x:Panes>”);
           strb.Append(“<x:Pane>”);
           strb.Append(“<x:Number>3</x:Number>”);
           strb.Append(“<x:ActiveCol>1</x:ActiveCol>”);
           strb.Append(“</x:Pane>”);
           strb.Append(“</x:Panes>”);
           strb.Append(“<x:ProtectContents>False</x:ProtectContents>”);
           strb.Append(“<x:ProtectObjects>False</x:ProtectObjects>”);
           strb.Append(“<x:ProtectScenarios>False</x:ProtectScenarios>”);
           strb.Append(“</x:WorksheetOptions>”);
           strb.Append(“</x:ExcelWorksheet>”);
           strb.Append(“<x:WindowHeight>6750</x:WindowHeight>”);
           strb.Append(“<x:WindowWidth>10620</x:WindowWidth>”);
           strb.Append(“<x:WindowTopX>480</x:WindowTopX>”);
           strb.Append(“<x:WindowTopY>75</x:WindowTopY>”);
           strb.Append(“<x:ProtectStructure>False</x:ProtectStructure>”);
           strb.Append(“<x:ProtectWindows>False</x:ProtectWindows>”);
           strb.Append(“</x:ExcelWorkbook>”);
           strb.Append(“</xml>”);
           strb.Append(“”);
           strb.Append(“</head><body>”);
           strb.Append(“<tablestyle=”border-right:1pxsolid#CCC;border-bottom:1pxsolid#CCC;text-align:center;”><thead><tr>”);
           //合格所有列并显示标题
           strb.Append(“<tdstyle=”text-align:center;background:#d3eeee;font-size:18px;”colspan=””+dt.Columns.Count+””><b>”);
           strb.Append(TableTitle);
           strb.Append(“</b></td>”);
           strb.Append(“</tr>”);
           strb.Append(“</thead><tbody><trstyle=”height:20px;”>”);
           if(dt!=null)
           {
               //写列标题
               intcolumncount=dt.Columns.Count;
                for(intcolumi=0;columi<columncount;columi++)
               {
                   strb.Append(“<tdstyle=”width:110px;;text-align:center;background:#CCC;”><b>”+dt.Columns[columi]+”</b></td>”);
               }
               strb.Append(“</tr>”);
               //写数据
               for(inti=0;i<dt.Rows.Count;i++)
               {
                   strb.Append(“<trstyle=”height:20px;”>”);
                   for(intj=0;j<dt.Columns.Count;j++)
                   {
                       strb.Append(“<tdstyle=”width:110px;;text-align:center;”>”+dt.Rows[i][j].ToString()+”</td>”);
                   }
                   strb.Append(“</tr>”);
               }
           }
           strb.Append(“</tbody></table>”);
           strb.Append(“</body></html>”);

           stringExcelFileName=fileName;
           //stringExcelFileName=Path.Combine(page.Request.PhysicalApplicationPath,path+”/guestData.xls”);
           //报表文件存在则先删除
           if(File.Exists(ExcelFileName))
           {
               File.Delete(ExcelFileName);
           }
           StreamWriterwriter=newStreamWriter(ExcelFileName,false);
           writer.WriteLine(strb.ToString());
           writer.Close();
           //如果需下载则提示下载对话框
           if(IsDown)
           {
               DownloadExcelFile(page,ExcelFileName);
           }
       }
———
///<summary>
       ///web下提示下载
       ///</summary>
       ///<paramname=”page”></param>
       ///<paramname=”filename”>文件名,全路径</param>
       publicstaticvoidDownloadExcelFile(System.Web.UI.Pagepage,stringFileName)
       {
           page.Response.Write(“path:”+FileName);
           if(!System.IO.File.Exists(FileName))
           {
               MessageBox.ShowAndRedirect(page,”文件不存在!”,FileName);
           }
           else
           {
               FileInfof=newFileInfo(FileName);
               HttpContext.Current.Response.Clear();
               HttpContext.Current.Response.AddHeader(“Content-Disposition”,”attachment;filename=”+f.Name);
               HttpContext.Current.Response.AddHeader(“Content-Length”,f.Length.ToString());
               HttpContext.Current.Response.AddHeader(“Content-Transfer-Encoding”,”binary”);
               HttpContext.Current.Response.ContentType=”application/octet-stream”;
               HttpContext.Current.Response.WriteFile(f.FullName);
               HttpContext.Current.Response.End();
           }

       }

需要cs类文件的可以去下载 点击下载

上述就是C#学习教程:C#导出生成excel文件的方法小结(xml,html方式)分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)! 您可能感兴趣的文章:C#导入导出EXCEL文件的代码实例C#数据导入/导出Excel文件及winForm导出Execl

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/904993.html

(0)
上一篇 2021年10月22日
下一篇 2021年10月22日

精彩推荐