a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁(yè) > 編程 > C# > 正文

C#導(dǎo)出生成excel文件的方法小結(jié)(xml,html方式)

2020-01-24 03:06:00
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

直接貼上代碼,里面都有注釋

復(fù)制代碼 代碼如下:

/// <summary>

        /// xml格式生成excel文件并存盤;
        /// </summary>
        /// <param name="page">生成報(bào)表的頁(yè)面,沒(méi)有傳null</param>
        /// <param name="dt">數(shù)據(jù)表</param>
        /// <param name="TableTitle">報(bào)表標(biāo)題,sheet1名</param>
        /// <param name="fileName">存盤文件名,全路徑</param>
        /// <param name="IsDown">生成文件后是否提示下載,只有web下才有效</param>
        public static void CreateExcelByXml(System.Web.UI.Page page, DataTable dt, String TableTitle, string fileName, bool IsDown)
        {
            StringBuilder strb = new StringBuilder();
            strb.Append(" <html xmlns:o=/"urn:schemas-microsoft-com:office:office/"");
            strb.Append("xmlns:x=/"urn:schemas-microsoft-com:office:excel/"");
            strb.Append("xmlns=/"");
            strb.Append(" <head> <meta http-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:/"Times New Roman/", serif;");
            strb.Append(" mso-font-charset:0;");
            strb.Append(" mso-number-format:/"@/";}");
            strb.Append("table");
            //strb.Append(" {border-collapse:collapse;margin:1em 0;line-height:20px;font-size:12px;color:#222; margin:0px;}");
            strb.Append(" {border-collapse:collapse;margin:1em 0;line-height:20px;color:#222; margin:0px;}");
            strb.Append("thead tr td");
            strb.Append(" {background-color:#e3e6ea;color:#6e6e6e;text-align:center;font-size:14px;}");
            strb.Append("tbody tr td");
            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>");
            //設(shè)置工作表 sheet1的名稱
            strb.Append(" <x:Name>" + TableTitle + " </x:Name>");
            strb.Append(" <x:WorksheetOptions>");
            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(" <table style=/"border-right: 1px solid #CCC;border-bottom: 1px solid #CCC;text-align:center;/"> <thead><tr>");
            //合格所有列并顯示標(biāo)題
            strb.Append(" <td style=/"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><tr style=/"height:20px;/">");
            if (dt != null)
            {
                //寫列標(biāo)題
                int columncount = dt.Columns.Count;
                for (int columi = 0; columi < columncount; columi++)
                {
                    strb.Append(" <td style=/"width:110px;;text-align:center;background:#CCC;/"> <b>" + dt.Columns[columi] + " </b> </td>");
                }
                strb.Append(" </tr>");
                //寫數(shù)據(jù)
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    strb.Append(" <tr style=/"height:20px;/">");
                    for (int j = 0; j < dt.Columns.Count; j++)
                    {
                        strb.Append(" <td style=/"width:110px;;text-align:center;/">" + dt.Rows[i][j].ToString() + " </td>");
                    }
                    strb.Append(" </tr>");
                }
            }
            strb.Append(" </tbody> </table>");
            strb.Append(" </body> </html>");


            string ExcelFileName = fileName;
            //string ExcelFileName = Path.Combine(page.Request.PhysicalApplicationPath, path+"/guestData.xls");
            //報(bào)表文件存在則先刪除
            if (File.Exists(ExcelFileName))
            {
                File.Delete(ExcelFileName);
            }
            StreamWriter writer = new StreamWriter(ExcelFileName, false);
            writer.WriteLine(strb.ToString());
            writer.Close();
            //如果需下載則提示下載對(duì)話框
            if (IsDown)
            {
                DownloadExcelFile(page, ExcelFileName);
            }
        }
---------
/// <summary>
        /// web下提示下載
        /// </summary>
        /// <param name="page"></param>
        /// <param name="filename">文件名,全路徑</param>
        public static void DownloadExcelFile(System.Web.UI.Page page, string FileName)
        {
            page.Response.Write("path:" + FileName);
            if (!System.IO.File.Exists(FileName))
            {
                MessageBox.ShowAndRedirect(page, "文件不存在!", FileName);
            }
            else
            {
                FileInfo f = new FileInfo(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類文件的可以去下載  點(diǎn)擊下載

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: av影音资源 | 日韩成人在线观看 | 久久精品久久久久久久久久久久久 | 亚洲成人自拍 | 青青草久草 | 黄色片av| 日韩一区二区在线观看 | 中文字幕视频在线观看 | 日韩中出 | 永久91嫩草亚洲精品人人 | 久久极品 | 国产拍拍拍拍拍拍拍拍拍拍拍拍拍 | 欧美日韩在线免费观看 | 青草青草久热精品视频在线观看 | 一级人爱视频 | 成人综合区 | 午夜欧美一区二区三区在线播放 | av一级毛片| 一区二区三区日本 | 精品1区 | 久久激情网 | 男人桶女人鸡鸡 | 亚洲精品成人在线 | 97久久精品 | 婷婷色婷婷 | 日本在线一二 | 国产精品久久久久久久午夜 | 国产高清av在线一区二区三区 | 国产婷婷综合 | 免费三区 | 精品一区电影国产 | 国产一级免费网站 | 人人精品| 中文字幕亚洲视频 | 午夜免费视频 | 国产精品久久久久久久久久免费看 | 成人在线 | 国产精品一区二区三 | 成人在线视频网站 | 国产精彩视频 | 欧美综合久久 |