从datagridview导出数据的问题

yixian2007 2009-03-06 11:14:07
请问如何实现的.

比如现在一个datagridview已经有了数据,且存放在dataset的表中,请问如何将此表导成xls文档?或者xms文档?
...全文
104 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
surlew 2009-03-06
  • 打赏
  • 举报
回复

public void ExportExcel(DataSet ds) //以DataSet- 导出Excel文件
{
if (ds == null) return;
Microsoft.office.Interop.Excel.Application xlApp = new Microsoft.office.Interop.Excel.Application();

if (xlApp == null)
{
MessageBox.Show("无法创建Excel对象,可能您的机子未安装Excel", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
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];//取得Sheet1
Microsoft.office.Interop.Excel.Range range;
long totalCount = ds.Tables[0].Rows.Count;

long rowRead = 0;
float percent = 0;

//写入字段
for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
{
worksheet.Cells[1, i + 1] = ds.Tables[0].Columns[i].ColumnName;
range = (Microsoft.office.Interop.Excel.Range)worksheet.Cells[1, i + 1];
range.Interior.ColorIndex = 15;
range.Font.Bold = true;
}
//写入数值
for (int r = 0; r < ds.Tables[0].Rows.Count; r++)
{
for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
{
worksheet.Cells[r + 2, i + 1] = "'" + ds.Tables[0].Rows[r][i];
}
rowRead++;
percent = ((float)(100 * rowRead)) / totalCount;

}




xlApp.Visible = true;
}

111,125

社区成员

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

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

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