csharp: DataTable export to excel,word,csv etc
生活随笔
收集整理的這篇文章主要介紹了
csharp: DataTable export to excel,word,csv etc
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CSS DIV Shadow
- 下一篇: 做到阿里P7和考上985/211哪个更难