目录 EXCEL报
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
的重要性 常见的导出EXCEL报表方法 利用EXCEL组件生成报表EXCEL报表生成EXCEL报表通常是管理信息系统中的一个重要模块,而Excel凭借它功能强大、应用灵活、通用性强等的优势在生成报表中获得了广泛的应用。随着用户的需求越来越高,僻如像一样财务报表、统计报表,样式非常复杂,对EXCEL格式要求也越来越高。这就对我们在设计和实现时具体采用哪一种方法显得尤为重要。.NET中常用的方法将DataGrid控件中的数据导出EXCELSystem.Web.UI.Controlctl=this.DataGrid1;HttpContext.Current.Response.Charset=“UTF-8”; HttpContext.Current.Response.ContentEncoding=System.Text.Encoding.Default;HttpContext.Current.Response.AppendHeader(“Content-Disposition”,“attachment;filename=Excel.xls”);//文件下载HttpContext.Current.Response.ContentType=“application/ms-excel”;ctl.Page.EnableViewState=false; System.IO.StringWriter tw=newSystem.IO.StringWriter();//信息写入字符串System.Web.UI.HtmlTextWriterhw=newSystem.Web.UI.HtmlTextWriter(tw);ctl.RenderControl(hw);//将控件中的内容输入到hw(服务器控件输出流)中HttpContext.Current.Response.Write(tw.ToString());HttpContext.Current.Response.End();如果你的DataGrid用了分页,它导出的是当前页的信息,也就是它导出的是DataGrid中显示的信息。而不是你select语句的全部信息。将DataSet中的数据导出Execlpublic voidCreateExcel(DataSetds,stringFileName) { HttpResponseresp=newHttpResponse(); resp.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312"); stringcolHeaders="",ls_item=""; DataTabledt=ds.Tables[0]; intcl=dt.Columns.Count; //取得数据表各列标题,各标题之间以t分割,最后一个列标题后加回车符 for(i=0;i<cl;i++) { if(i==(cl-1))//最后一列,加n { colHeaders+=dt.Columns[i].Caption.ToString()+“\n"; } else { colHeaders+=dt.Columns[i].Caption.ToString()+“\t"; }} resp.Write(colHeaders); //向HTTP输出流中写入取得的数据信息//逐行处理数据 foreach(DataRowrowinmyRow) { //当前行数据写入HTTP输出流,并且置空ls_item以便下行数据 for(i=0;i<cl;i++) { if(i==(cl-1))//最后一列,加n { ls_item+=row[i].ToString()+“\n"; } else {ls_item+=row[i].ToString()+“\t"; } } resp.Write(ls_item); ls_item=""; } resp.End(); }利用EXCEL组件1、演示EXCEL软件中的宏操作。2、EXCEL对象 Application对象。Application对象处于Excel对象层次结构的顶层,表示Excel自身的运行环境。(2)Workbook对象。Workbook对象直接地处于Application对象的下层,表示一个Excel工作薄文件。(3)Worksheet对象。Worksheet对象包含于Workbook对象,表示一个Excel工作表。(4)Range对象。Range对象包含于Worksheet对象,表示Excel工作表中的一个或多个单元格。3、操作步骤:(1)引用Microsoft.Office.Interop.Excel.dll;(2)引用命名空间;(3)创建EXCEL对象Excel.ApplicationexcelApp=newExcel.ApplicationClass();新建工作簿Excel.Workbookworkbook=excel.Workbooks.Add(true);新建工作表Excel.Worksheetworksheet=workbook.ActiveSheetasExcel.Worksheet;(4)设置格式xlSheet.get_Range(ExcelApp.Cells[1,1],ExcelApp.Cells[1,3])设置字体Font.name\Font.size\Font.Bold设置对齐方式HorizontalAlignment设置边框Borders设置文本格式NumberFormatLocal(5)插入图表ChartxlChart=(Chart)workbook.Charts.Add();利用向导生成图表:xlChart.ChartWizard(cellRange.CurrentRegion,XlChartType.xlPie,Missing,XlRowCol.xlColumns,1,0,true,"访问量比较","日期","访问量",Missing);(6)关闭EXCEL进程,释放资源Workbook.close();Workbook=null;excelApp.Quit();excelApp=null;GC.Colloct();注意点:1、需配置服务器,服务器端必须先安装EXCEL软件;2、Excel组件访问权限的配置,要配置组件服务。3、及时清空所引用的对象,结束进程;缺点:1、导出相对较麻烦,代码相对写的比较死,不太灵活;2、占用较大的内存;优点:1、能导出用户所需各种格式的表格,比较灵活;2、生成的Excel文件,完全(100%)符合Excel规范,即与用Excel编辑的文件完全一致;优点: 可以导出非常漂亮的图表; 可以导出各种类型的文件; 可以进行一些复杂的计算和汇总。水晶报表的建立1、以.rpt为后缀的CrystalReport2、在页面中,我们一般使用CrystalReportViewer控件,利用其属性ReportSource属性,其中还需用到ReportDocument这个类,ReportSource属性的值就指向该对象;自然,这个类的对象就是来引用我们刚才建的水晶报表。水晶报表CrystalReport两种模式:1、pull模式:直接连接数据库,直接显示数据表中的数据。2、push模式:连接DataSet数据集,可以自己编写相应的代码得到想要的结果,不是直接显示数据表中的数据。