在DataGrid中选中数据生成对应的excel表格的问题~~各位赐教~~

YrA5lala 2004-12-24 09:59:30
我现在在页面上做了一个datagrid。绑定了数据,并套进去了一个chickbox。

我想让被选中的数据自动生成一个对应的excel表格。。。

在论坛上搜索相关程序没有找到。~~我笨~~各位帮我出出主义。怎么解决一下啊?
...全文
83 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuexi040606 2004-12-24
  • 打赏
  • 举报
回复
up
lyvvvv 2004-12-24
  • 打赏
  • 举报
回复
你可以参考以下代码,它的功能是将所有记录的选定的字段导出成为Excel表格,至于导出你选定的记录,同样道理,加个判断就行了。
private void btExport_Click(object sender, System.EventArgs e)
{
if(DataGrid1.VisibleRowCount==0)return;
this.Cursor =Cursors.WaitCursor;
Excel.Application myExcel=new Excel.Application();
myExcel.Application.Workbooks.Add(true);

Excel.Workbook myBook=myExcel.Workbooks[1];
Excel.Worksheet mySheet=(Excel.Worksheet)myBook.Worksheets[1];

DataGrid1.Height =DataGrid1.Height -progressBar1.Height-2;
progressBar1.Visible =true;
int j=0,k=0;
progressBar1.Value=0;
progressBar1.Maximum =lvField.CheckedItems.Count;
for(j=0;j<lvField.CheckedItems.Count;j++)
{
myExcel.Cells[2,j+1]=lvField.CheckedItems[j].Text.ToString();
progressBar1.Value +=1;
}
myExcel.Cells[1,1]=sTableC;
Excel.Range r1=mySheet.get_Range(mySheet.Cells[1,1],mySheet.Cells[1,lvField.CheckedItems.Count]);
r1.Select();
r1.Merge(Missing.Value);
r1.Font.Bold = true;r1.Font.Size=20;//r1.Font.Name = "黑体";
r1.Borders.LineStyle=0;r1.RowHeight=20;

r1=mySheet.get_Range(mySheet.Cells[2,1],mySheet.Cells[1,lvField.CheckedItems.Count]);
r1.Select();
r1.Font.Bold = true;r1.Font.Size =9;
r1.Borders.LineStyle = 1;

progressBar1.Value=0;
progressBar1.Maximum =SysData.myDataSet.Tables["Search"].Rows.Count;
for(j=0;j<SysData.myDataSet.Tables["Search"].Rows.Count;j++)
{
for(k=0;k<lvField.CheckedItems.Count;k++)
{
myExcel.Cells[j+3,k+1]=SysData.myDataSet.Tables["Search"].Rows[j][k] ;
}
progressBar1.Value +=1;
}

r1=mySheet.get_Range(mySheet.Cells[3,1],mySheet.Cells[j+2,k]);
r1.Select();
r1.Font.Size =9;r1.Borders.LineStyle = 1;
r1=mySheet.get_Range(mySheet.Cells[1,1],mySheet.Cells[1,1]);
r1.Select();

progressBar1.Visible =false;
DataGrid1.Height =DataGrid1.Height +progressBar1.Height+2;
this.Cursor =Cursors.Default;

MessageBox.Show("数据导出完成!",this.Text);
myExcel.Visible=true;

}

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧