DataGridView 或DataTable 导出为Excel,处理了数字字符串的bug 使用说明: //以前文档存在以下的Bug:数字字符串如部门编号001003 将去掉前面的0 变成1003.这是不合要求的。 //对以前上传的文档出现的bug 表示抱歉,现更正过来,只需将代码 //worksheet.Cells[r + 2, i + 1] = dt.DefaultView[r][i]; //修改为(共需修改 2 处) //worksheet.Cells[r + 2, i + 1] = “’” + dt.DefaultView[r][i].ToString();//加单引号为了表示单元格//一直是文本格式 //编程语言:C# 主要用于 Winforms 应用程序的报表导出操作。 //使用时,请添加引用微软的Microsoft.Office.Interop.Excel 组件 //在以前的上传文档基础上增加两个重载方法,共四种参数的重载: //重载方法 1:ExportToExcel(System.Data.DataTable dt) //重载方法 2:ExportToExcel(DataGridView dgv) //重载方法 3:ExportToExcel(System.Data.DataTable dt, ProgressBar pb) //重载方法 4:ExportToExcel(DataGridView dgv, ProgressBar pb) //最后两个重载方法支持进度条控件 源代码如下: using System; using System.Collections.Generic; using System.Text; using Microsoft.Office.Interop.Excel; using System.Windows.Forms; namespace Channels { ///
/// 静态方法 ExportToExcel 提供四种参数的重载 /// DataGridView 或DataTable 导出到 Excel,可以选择是否添加进度条来查看导出excel进度 加单引号”’”,则表示单元格一直是文本,如001003 显示为001003,而不是1003 /// 需要使用进度条时,请在窗体中加入一个 ProgressBar 控件 progressBar1,并设置progressBar1.Visible=false /// public class DataTableToExcel { ///
/// 将DataGridView 转化为DataTable /// ///
///
public static System.Data.DataTable dvtodt(DataGridView dv) { System.Data.DataTable dt = new System.Data.DataTable(); System.Data.DataColumn dc; for (int i = 0; i < dv.Columns.Count; i++) { dc = new System.Data.DataColumn(); dc.ColumnName = dv.Columns[i].HeaderText.ToString(); dt.Columns.Add(dc); } for (int j = 0; j < dv.Rows.Count; j++) { Sys...