C中数据导出到Excel表格.docx
文本预览下载声明
在日常工作中,大家都习惯Office作为办公软件,因此,在开发软件的时,常常会有把数据导出到Excel等Office软件的需求。在此,收集一些常用的导出文件的源程序,希望给大家带来方便。(不断更新)一、DataSet数据集内数据转化为Excel // 作用:把DataSet数据集内数据转化为Excel、Word文件 // 描述:这些关于Excel、Word的导出方法,基本可以实现日常须要,其中有些方法可以把数据导出后 // 生成Xml格式,再导入数据库!有些屏蔽内容没有去掉,保留下来方便学习参考用之。 // 备注:请引用Office相应COM组件,导出Excel对象的一个方法要调用其中的一些方法和属性。 publicvoid DataSetToExcel(DataSet ds,string FileName) { try{ //Web页面定义 //System.Web.UI.Page mypage=new System.Web.UI.Page(); HttpResponse resp; resp=HttpContext.Current.Response; resp.ContentEncoding=System.Text.Encoding.GetEncoding(GB2312); resp.AppendHeader(Content-disposition,attachment;filename=+FileName+.xls); resp.ContentType=application/ms-excel; //变量定义 string colHeaders=null; string Is_item=null; //显示格式定义//////////////// //文件流操作定义 //FileStream fs=new FileStream(FileName,FileMode.Create,FileAccess.Write); //StreamWriter sw=new StreamWriter(fs,System.Text.Encoding.GetEncoding(GB2312)); StringWriter sfw=new StringWriter(); //定义表对象与行对象,同时用DataSet对其值进行初始化 System.Data.DataTable dt=ds.Tables[0]; DataRow[] myRow=dt.Select(); int i=0; int cl=dt.Columns.Count; //取得数据表各列标题,各标题之间以/t分割,最后一个列标题后加回车符 for(i=0;icl;i++) { //if(i==(cl-1)) //最后一列,加/n // colHeaders+=dt.Columns[i].Caption.ToString(); //else colHeaders+=dt.Columns[i].Caption.ToString()+/t; } sfw.WriteLine(colHeaders); //sw.WriteLine(colHeaders); //逐行处理数据 foreach(DataRow row in myRow) { //当前数据写入 for(i=0;icl;i++) { //if(i==(cl-1)) // Is_item+=row[i].ToString()+/n; //else Is_item+=row[i].ToString()+/t; } sfw.WriteLine(Is_item); //sw.WriteLine(Is_item); Is_item=null; } resp.Write(sfw); //resp.Clear(); resp.End(); } catch(Exception e) { throw e; } }二、DataSet数据集内数据转化为Excel文件(2)/// summary /// ExportFiles 的摘要说明。 /// 作用:把DataSet数据集内数据转化为Excel文件 /// 描述:导出Excel文件 /// 备注:请引用Office相应COM组件,导出Excel对象的一个方法要调用其中的一些方法和属性。 /// /summary publicclass ExportFiles { privatestring filePath = ; public ExportFiles(string excel_path) { // // TODO: 在此处添加构造函数逻辑 // filePath = excel_path; } /// summary /// 将指定的Dataset导出到Excel文件 /// /summary ///
显示全部