http://code.msdn.microsoft.com/office/Export-GridView-to-07c9f836

https://exporter.codeplex.com/

http://closedxml.codeplex.com/

http://epplus.codeplex.com/

 /// <summary>/// 塗聚文修改/// </summary>/// <param name="dt"></param>/// <param name="Response"></param>/// <param name="filename"></param>public static void Convertword(DataTable dt, HttpResponse Response, string filename){Response.Clear();Response.AddHeader("content-disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8) + ".doc");Response.Charset = "utf-8";Response.Cache.SetCacheability(HttpCacheability.NoCache);Response.ContentType = "application/vnd.word";System.IO.StringWriter stringWrite = new System.IO.StringWriter();System.Web.UI.HtmlTextWriter htmlWrite = new System.Web.UI.HtmlTextWriter(stringWrite);System.Web.UI.WebControls.GridView dg = new System.Web.UI.WebControls.GridView();dg.DataSource = dt;dg.DataBind();dg.RenderControl(htmlWrite);Response.Write(stringWrite.ToString());Response.End();//HttpContext.Current.ApplicationInstance.CompleteRequest();}/// <summary>/// /// </summary>/// <param name="dt"></param>/// <param name="Response"></param>/// <param name="filename"></param>public static void Convertexcel(DataTable dt, HttpResponse Response, string filename){Response.Clear();Response.AddHeader("content-disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8) + ".xls");//Response.Charset = "utf-8";Response.Cache.SetCacheability(HttpCacheability.NoCache);Response.ContentType = "application/vnd.ms-excel";System.IO.StringWriter stringWrite = new System.IO.StringWriter();System.Web.UI.HtmlTextWriter htmlWrite = new System.Web.UI.HtmlTextWriter(stringWrite);System.Web.UI.WebControls.DataGrid dg = new System.Web.UI.WebControls.DataGrid();dg.DataSource = dt;dg.DataBind();dg.RenderControl(htmlWrite);Response.Write(stringWrite.ToString());Response.End();//HttpContext.Current.ApplicationInstance.CompleteRequest();}/// <summary>/// /// </summary>/// <param name="dataTable"></param>/// <param name="Response"></param>/// <param name="filename"></param>public static void ConvertCSV(DataTable dataTable, HttpResponse Response, string filename){Response.Clear();Response.Buffer = true;Response.AddHeader("content-disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8) + ".csv");Response.Charset = "utf-8";Response.Cache.SetCacheability(HttpCacheability.NoCache);Response.ContentType = "Application/x-msexcel";StringBuilder sb = new StringBuilder();if (dataTable.Columns.Count != 0){foreach (DataColumn column in dataTable.Columns){sb.Append(column.ColumnName + ',');}sb.Append("\r\n");foreach (DataRow row in dataTable.Rows){foreach (DataColumn column in dataTable.Columns){if (row[column].ToString().Contains(",") == true){row[column] = row[column].ToString().Replace(",", "");}sb.Append(row[column].ToString() + ',');}sb.Append("\r\n");}}Response.Write(sb.ToString());Response.End();//HttpContext.Current.ApplicationInstance.CompleteRequest();}

winform:

 /// <summary>/// winform/// Encoding导出无问题/// 涂聚文测试/// </summary>/// <param name="dgv"></param>/// <param name="fileName"></param>public static void ExportToCSV(DataGridView dgv, string fileName){if (dgv.Rows.Count < 1){MessageBox.Show("没有记录!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);return;}SaveFileDialog sfDialog = new SaveFileDialog();sfDialog.Filter = "CSV文件(*.csv)|*.csv|文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";sfDialog.FilterIndex = 0;sfDialog.FileName = fileName;if (sfDialog.ShowDialog() == DialogResult.OK){string strFileName = sfDialog.FileName;StreamWriter sw = new StreamWriter(strFileName, false, Encoding.Unicode);string strLine = "";foreach (DataGridViewColumn col in dgv.Columns){if (col.Visible){strLine += "\"" + col.HeaderText.Trim().Replace("\"", "\\\"") + "\"" + "\t";}}strLine = strLine.Substring(0, strLine.Length - 1);sw.WriteLine(strLine);sw.Flush();foreach (DataGridViewRow dgvr in dgv.Rows){strLine = "";foreach (DataGridViewCell dgvc in dgvr.Cells){if (dgvc.Visible){if (dgvc.Value == null){strLine += "\t";}else{strLine += "\"" + dgvc.Value.ToString().Trim().Replace("\"","\"\"") + "\"" + "\t";}}}sw.WriteLine(strLine);sw.Flush();}sw.Close();MessageBox.Show(string.Format("数据已成功导出至\n{0}\n文件中!", strFileName), "导出成功", MessageBoxButtons.OK, MessageBoxIcon.Information);}}

  

转载于:https://www.cnblogs.com/geovindu/p/3668477.html

csharp: DataTable export to excel,word,csv etc相关推荐

  1. 一文学会用Python操作Excel+Word+CSV

    作者:奈何缘浅wyj https://juejin.im/post/6868073137263607821 Python 操作 Excel 常用工具 数据处理是 Python 的一大应用场景,而 Ex ...

  2. SQLite Tutorial 4 : How to export SQLite file into CSV or Excel file

    1.导出CSV格式 a.右键点击要导出的table名,选择export table b.然后打开export wizard,打开CSV标签,进行一些设置后,便可以选择保存位置了 c.最后打开效果 2. ...

  3. excel和csv区别pythonvin号_教你如何用python轻轻松松操作Excel、Word、CSV,一文就够了,赶紧码住!!!...

    Python 操作 Excel 常用工具 数据处理是 Python 的一大应用场景,而 Excel 又是当前最流行的数据处理软件.因此用 Python 进行数据处理时,很容易会和 Excel 打起交道 ...

  4. 导入Excel和CSV文件

    读取excel或csv文件中的数据暂时保存在DataTable中, 代码如下: public static DataTable ReadDataFromFile(string file, string ...

  5. excel打开csv错误换行_「乱吐槽·乱学习」excel高手捷径:一招鲜,吃遍天③

    大家好,我是阿乱.话说三十而立,至于立的是什么玩意儿就见仁见智吧(≧∇≦)ノ,不过旗杆什么的先放下来哈,咱们这里说的是身上得有多几个技能,好让我们立于不败之地嘛.当然也欢迎年轻人加入啦,反正你们也免不 ...

  6. 小技巧:如何在R语言与excel/word之间进行复制粘贴

    原创 康哥 勤用统计 问 R语言中能进行类似电脑中control+C/control+V的操作吗?现实数据处理过程中,经常需要进行R语言与Excel/word等文件的数据传输."笨方法&qu ...

  7. 使用UTF8编码将Excel转换为CSV

    我有一个包含一些西班牙语字符(波浪号等)的Excel文件,我需要将其转换为CSV文件以用作导入文件. 但是,当我执行"另存为CSV"时,它会处理不是ASCII字符的"特殊 ...

  8. PHP 导入导出excel、csv百万数据到数据库

    PHP 导入导出excel.csv百万数据到数据库 待解决: wamp下导入导出百万数据没有问题 lnmp下导入10W条数据没问题,导入50W及以上会出现nginx504报错 代码包地址 测试数据表地 ...

  9. 如何快速的将 DataTable 导入到 Excel 中 ?

    咨询区 user1334858 我尝试将 DataTable 导入到 Excel 中,但我目前的方法性能太差,可能是因为我逐个 WorkSheet,Cell 去处理导致,下面是我的代码: List&l ...

最新文章

  1. Docker 宿主机定时清除容器的运行日志
  2. R语言dplyr包的top_n函数返回dataframe或tibble的前N行数据、dplyr包的top_frac函数返回dataframe或tibble的前百分之N(N%)的数据
  3. Linux线程时间片如何修改,请教如何修改线程时间片
  4. 更改hadoop native库文件后datanode故障
  5. Bootstrap+MetroNic_1.5.4 Head meta
  6. 新手如何快速学习单片机
  7. 将整个网站页面变成黑白色
  8. html生成pdf字体错误,使用wkhtmltopdf时显示为PDF的错误字体
  9. gcj编译java_用GCJ编译Java源文件成脱离JRE的exe可执行文件
  10. 罗马音平假名中文可复制_这首歌,代表了我们的青春,你会唱吗(附op罗马音中文音译)...
  11. python编程技术主要内容是_Python核心编程的四大神兽
  12. 命令查看yarn当前任务列表
  13. 挑战杯获奖作品_精仪科协 | 挑战杯获奖作品人物专访——刘宇航、郑重
  14. 进入docker容器的方法
  15. 小米A1(小米5X国际版)刷机完全指南
  16. 线性代数 --- 线性相关与线性无关(个人学习笔记)
  17. 什么叫loopback地址?是怎样用的?
  18. sqlserver2008 服务 远程过程调用失败
  19. iOS 获取当前时间之后N天的日期
  20. 解决运行qmake:Project ERROR: Cannot run compiler ‘cl‘. Output:

热门文章

  1. 前端要凉?微软开源Sketch2Code,草图秒变代码
  2. 7-27 兔子繁衍问题(15 分)
  3. DC学院学习笔记(十四):总体、采样及Error Bar
  4. 教你用java统计目录下所有文档的词频
  5. 在mac下安装matplotlib,xlrd
  6. JAVA调用shell脚本实例
  7. puppet全方位学习之总结
  8. 【老孙随笔】项目经理要如何看待技术?
  9. Spinal Cage Fusion
  10. final cut pro的磁性链接是真的方便:小白力推