国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

C# 生成Excel 并保存 包含web和winform調用方法

2019-11-17 03:10:06
字體:
來源:轉載
供稿:網友

C# 生成Excel 并保存 包含web和winform調用方法

using System;

using System.Collections.Generic;using System.Text;using System.Data;using System.IO;using System.Web;using Microsoft.Office.Interop.Excel;namespace XT.LiTree.Logic{public class ExcelExport{/// <summary>/// 直接導出Excel/// </summary>/// <param name="ds">數據源DataSet</param>/// <param name="fileName">保存文件名(例如:E:/a.xls)</param>/// <returns></returns>public bool DoExport(DataSet ds, string fileName){if (ds.Tables.Count == 0 || fileName == string.Empty){return false;}applicationexcel= new ApplicationClass();int rowindex = 1;int colindex = 0;Workbook work = excel.Workbooks.Add(true);//Worksheet sheet1 = (Worksheet)work.Worksheets[0];System.Data.DataTable table = ds.Tables[0];foreach (DataColumn col in table.Columns){colindex++;excel.Cells[1, colindex] = col.ColumnName;}foreach (DataRow row in table.Rows){rowindex++;colindex = 0;foreach (DataColumn col in table.Columns){colindex++;excel.Cells[rowindex, colindex] = row[col.ColumnName].ToString();}}excel.Visible = false;//((Worksheet)work.Sheets[0]).Name = "sss";excel.ActiveWorkbook.SaveAs(fileName, XlFileFormat.xlExcel9795, null, null, false, false, XlSaveAsaccessMode.xlNoChange, null, null, null, null, null);excel.Quit();excel = null;GC.Collect();return true;}/// <summary>/// 直接導出Excel/// </summary>/// <param name="ds">數據源DataSet</param>/// <param name="columns">列名數組,允許為空(columns=null),為空則表使用默認數據庫列名 </param>/// <param name="fileName">保存文件名(例如:E:/a.xls)</param>/// <returns></returns>public bool DoExport(DataSet ds, string[] columns, string fileName){if (ds.Tables.Count == 0 || fileName == string.Empty){return false;}Applicationexcel= new ApplicationClass();int rowindex = 1;int colindex = 0;Workbook work = excel.Workbooks.Add(true);//Worksheet sheet1 = (Worksheet)work.Worksheets[0];System.Data.DataTable table = ds.Tables[0];if (columns != null){for (int i = 0; i < columns.Length; i++){colindex++;if (columns[i] != null && columns[i] != ""){excel.Cells[1, colindex] = columns[i];}else{excel.Cells[1, colindex] = table.Columns[i].ColumnName;}}}else{foreach (DataColumn col in table.Columns){colindex++;excel.Cells[1, colindex] = col.ColumnName;}}foreach (DataRow row in table.Rows){rowindex++;colindex = 0;foreach (DataColumn col in table.Columns){colindex++;excel.Cells[rowindex, colindex] = row[col.ColumnName].ToString();}}excel.Visible = false;//((Worksheet)work.Sheets[0]).Name = "sss";excel.ActiveWorkbook.SaveAs(fileName, XlFileFormat.xlExcel9795, null, null, false, false, XlSaveAsAccessMode.xlNoChange, null, null, null, null, null);excel.Quit();excel = null;GC.Collect();return true;}/// <summary>/// 直接導出Excel/// </summary>/// <param name="sql">SQL查詢語句</param>/// <param name="columns">列名數組</param>/// <param name="fileName">保存文件名(例如:E:/a.xls)</param>/// <returns></returns>public bool DoExport(string sql, string[] columns, string fileName){Dao.DataBase db = new XT.LiTree.Dao.DataBase();DataSet ds = db.GetDS(sql);if (ds.Tables.Count == 0 || fileName == string.Empty){return false;}Applicationexcel= new ApplicationClass();int rowindex = 1;int colindex = 0;Workbook work = excel.Workbooks.Add(true);//Worksheet sheet1 = (Worksheet)work.Worksheets[0];System.Data.DataTable table = ds.Tables[0];if (columns != null){for (int i = 0; i < columns.Length; i++){colindex++;if (columns[i] != null && columns[i] != ""){excel.Cells[1, colindex] = columns[i];}else{excel.Cells[1, colindex] = table.Columns[i].ColumnName;}}}else{foreach (DataColumn col in table.Columns){colindex++;excel.Cells[1, colindex] = col.ColumnName;}}foreach (DataRow row in table.Rows){rowindex++;colindex = 0;foreach (DataColumn col in table.Columns){colindex++;excel.Cells[rowindex, colindex] = row[col.ColumnName].ToString();}}excel.Visible = false;//((Worksheet)work.Sheets[0]).Name = "sss";excel.ActiveWorkbook.SaveAs(fileName, XlFileFormat.xlExcel9795, null, null, false, false, XlSaveAsAccessMode.xlNoChange, null, null, null, null, null);excel.Quit();excel = null;GC.Collect();return true;}/// <summary>/// 通過流導出Excel/// </summary>/// <param name="ds">數據源DataSet</param>/// <param name="fileName">保存文件名(例如:a.xls)</param>/// <returns></returns>public bool StreamExport(DataSet ds, string fileName){if (ds.Tables.Count == 0 || fileName == string.Empty){return false;}System.Data.DataTable dt = ds.Tables[0];StringBuilder content = new StringBuilder();StringBuilder strtitle = new StringBuilder();content.Append("<htmlxmlns:o='urn:schemas-microsoft-com:office:office' xmlns:x='urn:schemas-microsoft-com:office:excel' xmlns='http://www.w3.org/TR/REC-html40'>");content.Append("<head><title></title><meta http-equiv='Content-Type' content=/"text/html; charset=gb2312/"></head><body><table x:str cellspacing='0' rules='all' border='1' id='title1' style="border-collapse:collapse;" mce_style="border-collapse:collapse;">");content.Append("<tr>");for (int j = 0; j < dt.Columns.Count; j++){content.Append("<td>" + dt.Columns[j].ColumnName + "</td>");}content.Append("</tr>/n");for (int j = 0; j < dt.Rows.Count; j++){content.Append("<tr>");for (int k = 0; k < dt.Columns.Count; k++){content.Append("<td>" + dt.Rows[j][k].ToString() + "</td>");}content.Append("</tr>/n");}content.Append("</table></body></html>");content.Replace(" ", "");//fileContent = (byte[])System.Text.Encoding.Default.GetBytes(content.ToString());//System.Web.UI.WebControls.System.Web.HttpContext.Current.Response.Clear();System.Web.HttpContext.Current.Response.Buffer = true;System.Web.HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";System.Web.HttpContext.Current.Response.Charset = "GB2312";HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");System.Web.HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment; filename=" + fileName);//HttpUtility.UrlEncode(fileName));//HttpUtility.UrlEncode(fileName,Encoding.UTF8);//System.Web.HttpContext.Current.Response.ContentEncoding=System.Text.Encoding.Default;System.Web.HttpContext.Current.Response.Write(content.ToString());System.Web.HttpContext.Current.Response.End();return true;}/// <summary>/// 通過流導出Excel/// </summary>/// <param name="ds">數據源DataSet</param>/// <param name="columns">列名數組,允許為空(columns=null),為空則表使用默認數據庫列名</param>/// <param name="fileName"></param>/// <returns></returns>public bool StreamExport(DataSet ds, string[] columns, string fileName){if (ds.Tables.Count == 0 || fileName == string.Empty){return false;}System.Data.DataTable dt = ds.Tables[0];StringBuilder content = new StringBuilder();StringBuilder strtitle = new StringBuilder();content.Append("<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:x='urn:schemas-microsoft-com:office:excel' xmlns='http://www.w3.org/TR/REC-html40'>");content.Append("<head><title></title><meta http-equiv='Content-Type' content=/"text/html; charset=gb2312/"></head><body><table x:str cellspacing='0' rules='all' border='1' id='title1' style="border-collapse:collapse;" mce_style="border-collapse:collapse;">");content.Append("<tr>");if (columns != null){for (int i = 0; i < columns.Length; i++){if (columns[i] != null && columns[i] != ""){content.Append("<td>" + columns[i] + "</td>");}else{content.Append("<td>" + dt.Columns[i].ColumnName + "</td>");}}}else{for (int j = 0; j < dt.Columns.Count; j++){content.Append("<td>" + dt.Columns[j].ColumnName + "</td>");}}content.Append("</tr>/n");for (int j = 0; j < dt.Rows.Count; j++){content.Append("<tr>");for (int k = 0; k < dt.Columns.Count; k++){content.Append("<td>" + dt.Rows[j][k].ToString() + "</td>");}content.Append("</tr>/n");}content.Append("</table></body></html>");co

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 阿拉尔市| 江阴市| 永吉县| 星座| 临夏县| 青冈县| 武山县| 色达县| 苏州市| 连平县| 丰台区| 巴林左旗| 孝感市| 汉阴县| 大港区| 贡嘎县| 保定市| 山东| 万全县| 大邑县| 长寿区| 宝兴县| 麟游县| 隆化县| 张家界市| 阿克陶县| 通渭县| 白朗县| 财经| 普兰店市| 五常市| 辽宁省| 巴青县| 沂南县| 尚志市| 丁青县| 临汾市| 成都市| 昆山市| 临朐县| 磐安县|