文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>数据导出之--将GridView数据导出到Excel( 原)

数据导出之--将GridView数据导出到Excel( 原)

时间:2011-03-22  来源:@龙飞凤舞@

//将GridView导出到Excel

 public static void DataGridToExcel(DataGridView dgv)       

{                      

if (dgv.Columns.Count == 0)           

{  

return;           

}           

Excel.Application exc = new Excel.ApplicationClass();           

if (exc == null)           

{               

throw new Exception("Excel无法启动");           

}           

ProcessQueryingForm pProcessfrm = new ProcessQueryingForm();           

pProcessfrm.SetProcessText("正在打开Excel,请稍候....");           

pProcessfrm.Show();           

System.Windows.Forms.Application.DoEvents();//'转让控制权,没有这一句的话提示窗口不能正常显示

Excel.Workbooks workbooks = exc.Workbooks;           

Excel._Workbook workbook = workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet);

Excel.Sheets sheets = exc.Sheets;           

Excel._Worksheet worksheet = (Excel._Worksheet)sheets[1];           

if (worksheet == null)           

{               

throw new Exception("Excel启动错误");           

}           

//填充表头           

Excel.Range range;           

int j = 1;           

for (int i = 0; i < dgv.ColumnCount; i++)           

{               

if (dgv.Columns[i].Visible == true)               

{                   

worksheet.Cells[1, j] = dgv.Columns[i].HeaderText;                   

range = (Excel.Range)worksheet.Cells[1, j];                   

range.Borders.LineStyle = 1.5;                             //表格边框粗细                   

range.EntireColumn.AutoFit();                              //自动调整列宽                   

range.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter; //文字居中                   

range.Font.Bold = true;                                    //粗体                   

range.RowHeight = 25;                                      //行高

exc.ActiveCell.Font.Size = 12;                   

exc.ActiveCell.Font.Bold = true;                   

exc.ActiveCell.EntireColumn.AutoFit();                   

j++;               

}           

}

for (int r = 0; r < dgv.Rows.Count - 1; r++)           

{               

int jj = 1;               

for (int i = 0; i < dgv.Columns.Count; i++)               

{                   

if (i + 1 != dgv.Columns.Count + 1 && dgv.Columns[i].Visible == true)                       

if (dgv.Rows[r].Cells[i].Value != null)                       

{                           

worksheet.Cells[r + 2, jj] = dgv.Rows[r].Cells[i].Value.ToString();                           

jj++;

}                       

else                       

{                           

worksheet.Cells[r + 2, jj] = "";                           

jj++;                       

}        

}            

}           

range = worksheet.get_Range(worksheet.Cells[2, 1], worksheet.Cells[dgv.Rows.Count + 2, dgv.Columns.Count]);            range.EntireColumn.AutoFit();           

range.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;           

range.RowHeight = 20;

exc.Visible = true;           

exc.DisplayAlerts = false;           

pProcessfrm.Dispose();

}

相关阅读 更多 +
排行榜 更多 +
找茬脑洞的世界安卓版

找茬脑洞的世界安卓版

休闲益智 下载
滑板英雄跑酷2手游

滑板英雄跑酷2手游

休闲益智 下载
披萨对对看下载

披萨对对看下载

休闲益智 下载