日期:2014-05-17 浏览次数:21126 次
/// <summary>
/// 将datagridview导出为excel文件,导出过程中显示进度条
/// </summary>
/// <param name="dgv">DataGridView</param>
/// <param name="pb">progressBar</param>
/// <param name="ll">Label</param>
public static void ExportToExcel(DataGridView dgv, ProgressBar pb, System.Windows.Forms.Label ll)
{
System.Data.DataTable dt = dgv.DataSource as System.Data.DataTable;
if (dt == null) return;
Microsoft.Office.Interop.Excel.Application xlapp = new Microsoft.Office.Interop.Excel.Application();
if (xlapp == null)
{
MessageBox.Show("无法创建Excel对象,可能您的电脑未安装Excel");
return;
}
System.Windows.Forms.SaveFileDialog saveDia = new SaveFileDialog();
saveDia.Filter = "Excel|*xls";
saveDia.Title = "导出为Excel文件";
saveDia.FileName = string.Format("{0}.xls", DateTime.Now.ToString("yyyyMMddHHmmss"));
if (saveDia.ShowDialog() == System.Windows.Forms.DialogResult.OK && !string.Empty.Equals(saveDia.FileName))
{
Microsoft.Office.Interop.Excel.Workbooks workbooks = xlapp.Workbooks;
Microsoft.Office.Interop.Excel.Workbook workbook = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];
Microsoft.Office.Interop.Excel.Range range = null;
long totalCount = dt.Rows.Count;
pb.Visible = true;//进度条显示
&nbs