datagridview导出到excel

houqidian 2010-04-01 08:52:13
string saveFileName = "";
SaveFileDialog saveDialog = new SaveFileDialog();
saveDialog.DefaultExt = "xls";
saveDialog.Filter = "Excel文件|*.xls";
saveDialog.FileName = "abc";
if (saveDialog.ShowDialog() == DialogResult.OK)
{
saveFileName = saveDialog.FileName;
if (saveFileName.IndexOf(":") < 0) return;
Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
if (xlApp == null)
{
MessageBox.Show("无法创建Excel对象,您的电脑可能未安装Excel!");
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];

for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
if (i + 1 > dataGridView1.ColumnCount)
break;
worksheet.Cells[1, i + 1] = dataGridView1.Columns[i + 1].HeaderText;

}
int a = -1;
for (int i = 0; i < this.dataGridView1.Rows.Count; i++)
{
if (this.dataGridView1.Rows[i].Cells["Column11"].Value == null)
{
continue;
}
if ((bool)this.dataGridView1.Rows[i].Cells["Column11"].Value)
{
a++;
for (int j = 1; j < dataGridView1.ColumnCount; j++)
{
worksheet.Cells[a + 2, j] = dataGridView1.Rows[i].Cells[j].Value;
System.Windows.Forms.Application.DoEvents();
}
}
}
worksheet.Columns.EntireColumn.AutoFit();
if (saveFileName != "")
{
try
{
workbook.Saved = true;
workbook.SaveCopyAs(saveFileName);
}
catch (Exception ex)
{
MessageBox.Show("导出文件时出错!");
}
}
xlApp.Quit();
GC.Collect();
MessageBox.Show("保存成功", "提示", MessageBoxButtons.OK);
}
哪位大侠 帮我看看问题出在哪里
...全文
125 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhushoudong 2010-04-02
  • 打赏
  • 举报
回复
嗯 给出的网址里的都很清楚了的
shine0612 2010-04-02
  • 打赏
  • 举报
回复
帮你顶个
shine0612 2010-04-02
  • 打赏
  • 举报
回复
帮你顶个
ouzui 2010-04-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 yangjie520op 的回复:]
添加dll引用

右击选择你所在的项目的“引用”,选择“添加引用”。

弹出“添加引用”对话框。

选择“COM”选项卡。

选择“Microsoft Excel 11.0 Object Library”

单击“确定”按钮。
在“COM”选项卡中,选择名为“ActiveMovie 控件类型库”的组件。

单击“选择”,然后单击“确定”。

重新生成 Interop1……
[/Quote]
正解
pansy5 2010-04-02
  • 打赏
  • 举报
回复
帮你顶,关注中
电脑帮帮手 2010-04-01
  • 打赏
  • 举报
回复
添加dll引用

右击选择你所在的项目的“引用”,选择“添加引用”。

弹出“添加引用”对话框。

选择“COM”选项卡。

选择“Microsoft Excel 11.0 Object Library”

单击“确定”按钮。
在“COM”选项卡中,选择名为“ActiveMovie 控件类型库”的组件。

单击“选择”,然后单击“确定”。

重新生成 Interop1。
houqidian 2010-04-01
  • 打赏
  • 举报
回复
自己顶
houqidian 2010-04-01
  • 打赏
  • 举报
回复
帮我顶啊

111,098

社区成员

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

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

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