您现在的位置是:首页» windows系统» gridview与gridlayout,gridview导出excel去掉表头

gridview与gridlayout,gridview导出excel去掉表头

2023-10-15 01:46:50
今天小编为大家分享Windows系统下载、Windows系统教程、windows相关应用程序的文章,希望能够帮助到大家!(一)首先创建Excel文档:  在实现gridview导出excel的前提下,我们再利用Excel对象可以简单的操作Excel文档,从而实现gridview导出Excel文件。此操作可以利用Micr

今天小编为大家分享Windows系统下载、Windows系统教程、windows相关应用程序的文章,希望能够帮助到大家!

(一)首先创建Excel文档:

  在实现gridview导出excel的前提下,我们再利用Excel对象可以简单的操作Excel文档,从而实现gridview导出Excel文件。此操作可以利用Microsoft.Office.Interop.Excel命名空间及其全部方法,所以说首先要创建Excel文档,用下面的语句可以创建Excel文档:

Excel.Application xlApp = new Excel.Application(); // 创建Excel文档

(二)编写核心代码

  1. 使GridView数据可用于Excel:

创建一定规格的Excel文档后,我们可以使用xlSheet = (Excel.Worksheet)xlApp.Worksheets.Add()来把GridView的数据显示在该文档中。

  2. 遍历GridView:

首先可以先遍历GridView中的数据,用for循环以及两个变量i,j分别表示了变量的行和列,然后可以把GridView中的数据存放在一个object数组中,当返回结果为False时,停止循环:

for (i = 0; i <= gridView.Rows.Count; i++)

{

for (j = 0; j < gridView.Columns.Count; j++)

{

str[i, j] = gridView.Rows[i].Cells[j].Text.ToString();

}

}

(三)将GridView数据添加到Excel文档中

  如果GridView中的数据存放在object数据中,则将其写入Excel文档中,用下面的语句:

xlSheet.get_Range(xlApp.Cells[rowIndex + 1,columnIndex],xlApp.Cells[rowIndex + 1,columnIndex]).Value2 = values[rowIndex,columnIndex];

(四)保存打开的文件

  编写完上面的代码后,就可以用xlApp.ActiveWorkbook.SaveAs(Path, Excel.XlFileFormat.xlWorkbookNormal)来保存文档。

(五)将Excel调用至当前页面

  当生成Excel文档后,还需要把Excel文档显示在网页页面上,这是需要在Response.AppendHeader中添加一个键来下载,可以使用如下代码:

Response.AppendHeader(\"Content-disposition\",\"attachment;filename=Export.xls\");

Response.ContentType = \"application/vnd.xls\";

Response.WriteFile(Path);

(六)释放内存

  最后还需要记得释放内存,即在程序结束的时候,用xlApp.Quit()来终止进程,使用Marshal.ReleaseComObject()来释放内存:

Marshal.ReleaseComObject(xlApp);

Marshal.ReleaseComObject(xlSheet);

xlSheet = null;

xlApp = null;

GC.Collect(); // 垃圾回收

1.\tGridView介绍:GridView是ASP.NET中提供的一个用来显示表格式数据的控件。它可以用来在Web页面中显示数据库查询传递的数据,同时支持多种操作,包括排序、分页、搜索等,而且对对数据的编辑、更新、删除等操作均提供了友好的界面与良好的用户见解。

2.\tGridView实现导出Excel:要实现GridView导出Excel,就需要通过将GridView中每行每列数据生成Excel文件(.xls文件)来实现。

(1)首先,在GridView控件上添加一个Button控件用来实现导出Excel的功能,并设置Button的ID和PostBackUrl属性;

(2)然后在后台加入一个导出方法:

public void ExportToExcel(DataTable dtSource, string strHeaderText, string strFileName, string[] columnsArray锛孶)

{

//设置表头

string sHeader = GridView_Excel.GetExcelHeaderColumn(dtSource, strHeaderText, columnsArray);

HttpContext.Current.Response.Clear();

HttpContext.Current.Response.Charset = \"GB2312\";

HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;

HttpContext.Current.Response.AddHeader(\"Content-Disposition\", \"attachment; filename=\" + strFileName);

HttpContext.Current.Response.ContentType = \"application/ms-excel\";

HttpContext.Current.Response.Write(sHeader);

//输出Excel数据

StringWriter sw = new StringWriter();

HtmlTextWriter htw = new HtmlTextWriter(sw);

GridView_Excel.RenderDataTable(dtSource, columnsArray, htw);

HttpContext.Current.Response.Write(sw.ToString());

HttpContext.Current.Response.End();

}

(3)接下来就是从GridView中获取数据,并设置表头,将GridView中的数据转换为excel格式:

public static string GetExcelHeaderColumn(DataTable dtSource, string strHeaderText, string[] columnsArray)

{

//设置表头

StringBuilder sbHeader = new StringBuilder();

sbHeader.Append(\"\");

sbHeader.Append(strHeaderText + \"\");

//设置表的字段名

sbHeader.Append(\"\");

foreach(string column in columnsArray)

{

sbHeader.Append(\"\" + dtSource.Columns[column].ColumnName + \"\");

}

sbHeader.Append(\"\");

return sbHeader.ToString();

}

(4)最后调用RenderDataTable方法:

public static void RenderDataTable(DataTable dtSource, string[] columnsArray, HtmlTextWriter htw)

{

//生成Excel数据

if (dtSource == null || columnsArray == null)

{

throw new Exception(\"DataTable或者ColumnsArray不能为空!\");

}

int rowIdx = 0;

foreach (DataRow row in dtSource.Rows)

{

rowIdx++;

//输出每行数据

htw.Write(\"\");

//foreach (DataColumn col in dtSource.Columns)

foreach(string column in columnsArray)

{

htw.Write(\"\");

htw.Write(row[column].ToString());

htw.Write(\"\");

}

htw.Write(\"\");

}

htw.Write(\"\");

}

3.\tGridView导出Excel的优缺点:

优点:

(1)GridView导出Excel的目的是快速生成Excel文件,从而节约时间和精力,从而解决数据存储和解析比较复杂且耗费时间的问题;

(2)GridView导出Excel方便管理系统中数据的快捷检索以及实现数据一致性;

(3)GridView导出Excel能帮助管理系统提高工作效率,节省人力资源;

缺点:

(1)GridView导出Excel不是实时数据,而是历史数据;

(2)GridView导出Excel无法在线预览,需要等待文件下载后才能对文件数据展示和检索;

(3)GridView导出Excel只能实现简单的数据操作,没有可视化操作界面,需要编写复杂的代码。

wWw.Xtw.com.Cn系统网专业应用软件下载教程,免费windows10系统,win11,办公软件,OA办公系统,OA软件,办公自动化软件,开源系统,移动办公软件等信息,解决一体化的办公方案。

免责声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。内容仅供参考使用,不准确地方联系删除处理!

联系邮箱:773537036@qq.com