ASP.NET导出EXCEL求方法

街角嘚堕落 2013-02-24 09:57:47
一个DataGrid 可以多选 1行数据导出一个EXCEL 这个有什么好的方法实现!!!!!
...全文
131 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
gxingmin 2013-02-24
  • 打赏
  • 举报
回复
你参考一下下面的代码,直接把行记录代替datatable
 public static void TableToExcel(DataTable dt, string fileName, bool saveFile, Encoding ecoding = null)
        {
            StringWriter stringWriter = new StringWriter();
            #region 设置数字为文本形式,避免长数字转为科学计数法而丢失0
            string strStyle = "<style>td{mso-number-format:'\\@';}</style>";

            stringWriter.WriteLine(strStyle);
            #endregion
            HtmlTextWriter htmlWriter = new HtmlTextWriter(stringWriter);
            DataGrid excel = new DataGrid();

            TableItemStyle AlternatingStyle = new TableItemStyle();
            TableItemStyle headerStyle = new TableItemStyle();
            TableItemStyle itemStyle = new TableItemStyle();
            headerStyle.Font.Bold = true;

            headerStyle.HorizontalAlign = HorizontalAlign.Center;
            itemStyle.HorizontalAlign = HorizontalAlign.Left;
            

            excel.AlternatingItemStyle.MergeWith(AlternatingStyle);
            excel.HeaderStyle.MergeWith(headerStyle);
            excel.ItemStyle.MergeWith(itemStyle);
            excel.GridLines = GridLines.Both;
            excel.HeaderStyle.Font.Bold = true;

            excel.DataSource = dt.DefaultView;
            excel.DataBind();
            excel.RenderControl(htmlWriter);

            int fileN = fileName.LastIndexOf('\\');
            string tmpName = fileName.Substring(fileN + 1);

            // 文件的保存路径
            string DownloadFilePath = fileName;
            
            
            // 如果需要保存文件则保存文件在服务器端
            if (!Directory.Exists(DownloadFilePath) && saveFile)
            {
                StreamWriter sw = new StreamWriter(DownloadFilePath, false, Encoding.GetEncoding("utf-7"));
                sw.Write(stringWriter.ToString());                
                sw.Close();
            }
}

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧