C#将dataGridView数据导出成EXCEl、WORD格式

 1 导出成EXCEL: 
2
3
4 Excel.Application excel = new Excel.Application();
5 excel.Application.Workbooks.Add(true);
6 excel.Visible = true;
7 for (int i = 0; i < this.dataGridView1.ColumnCount; i++)
8 {
9 excel.Cells[1, i + 1] = this.dataGridView1.Columns[i].HeaderText;
10 }
11 for (int i = 0; i < this.dataGridView1.RowCount - 1; i++)
12 {
13 for (int j = 0; j < this.dataGridView1.ColumnCount; j++)
14 {
15 excel.Cells[i + 2, j + 1] = this.dataGridView1[j, i].Value.ToString();
16
17 }
18 }
19
20
21 导出成WORD:
22
23
24 Word.Document mydoc = new Word.Document();
25 Word.Table mytable;
26 Word.Selection mysel;
27 Object myobj;
28
29 //建立Word对象
30 Word.Application word = new Word.Application();
31 myobj = System.Reflection.Missing.Value;
32 mydoc = word.Documents.Add(ref myobj, ref myobj, ref myobj, ref myobj);
33 word.Visible = true;
34 mydoc.Select();
35 mysel = word.Selection;
36 //将数据生成Word表格文件
37 mytable = mydoc.Tables.Add(mysel.Range, this.dataGridView1.RowCount, this.dataGridView1.ColumnCount, ref myobj, ref myobj);
38 //设置列宽
39 mytable.Columns.SetWidth(30, Word.WdRulerStyle.wdAdjustNone);
40 //输出列标题数据
41 for (int i = 0; i < this.dataGridView1.ColumnCount; i++)
42 {
43 mytable.Cell(1, i + 1).Range.InsertAfter(this.dataGridView1.Columns[i].HeaderText);
44 }
45 //输出控件中的记录
46 for (int i = 0; i < this.dataGridView1.RowCount - 1; i++)
47 {
48 for (int j = 0; j < this.dataGridView1.ColumnCount; j++)
49 {
50 mytable.Cell(i + 2, j + 1).Range.InsertAfter(this.dataGridView1[j, i].Value.ToString());
51 }
52 }

 

posted @ 2012-03-09 10:37  都市夜归人  阅读(703)  评论(0)    收藏  举报