C#中操作Excel

最近项目用到Excle的地方较多,需要通过c#对其新建、修改等,测试例子如下。

  1          string filename;//保存路径
2
3 //新建一个Excel
4 public void NewOneExcel()
5 {
6 Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); //创建Exel对象
7 Workbook workbook1 = excel.Workbooks.Add(true); //添加工作薄
8 Worksheet sheet = (Worksheet)workbook1.Worksheets["sheet1"];//工作表
9
10 sheet.Cells[1, 1] = "姓名"; //在1行创建标题行
11 sheet.Cells[1, 2] = "性别";
12 sheet.Cells[1, 3] = "年龄";
13 sheet.Cells[1, 4] = "地址";
14
15 System.Data.DataTable dt = GetDT(); //赋值
16 for (int i = 0; i < dt.Rows.Count; i++)
17 {
18 for (int j = 0; j < 4; j++)
19 {
20 sheet.Cells[i + 2, j + 1] = dt.Rows[i][j];
21 }
22 }
23
24 Microsoft.Win32.SaveFileDialog sfd = new Microsoft.Win32.SaveFileDialog();//保存对话框
25 sfd.Title = "导出Exel"; //对话框标题
26 sfd.OverwritePrompt = true; //如果文件已经存在,显示警告
27 sfd.Filter = "Exel|*.xlsx";
28 if (sfd.ShowDialog() == true) //显示对话框
29 {
30 filename = sfd.FileName;
31 if (filename != null)
32 {
33 //exel.Visible = true; //使用这句话就可以让Exel文件显示
34 excel.ActiveWorkbook.SaveAs(filename); //释放资源
35 excel.ActiveWorkbook.Close();
36 excel.Quit();
37 MessageBox.Show("导出成功!","温馨提示");
38 }
39 }
40 }
41
42 //修改Excel
43 private void ModifExcel()
44 {
45 Microsoft.Office.Interop.Excel.Application excel1 = new Microsoft.Office.Interop.Excel.Application();
46
47 //打开指定地点的工作薄
48 Workbook workbook1 = excel1.Workbooks.Open(filename, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
49 excel1.Visible = false;
50 Worksheet sheet = (Worksheet)workbook1.Worksheets["sheet1"];//工作表
51 sheet.Name = "学生信息表"; //工作表名
52 sheet.Columns.ColumnWidth = 20; //全局行宽
53 sheet.Columns.RowHeight = 20; //全局列高
54
58 Range range = sheet.get_Range("A1", "D1"); //获得一个区域
59 range.Borders.LineStyle = 1; //边框线类型(线型、虚线形)
60 range.Font.Bold = true; //加粗
61 range.Font.Size = 11; //字体大小
62 range.Font.Name = "仿宋"; //设置字体
63 range.Font.ColorIndex = 0; //字体颜色
64 range.Interior.ColorIndex = 12; //背景颜色
65 //rang.Cells.Interior.Color = System.Drawing.Color.FromArgb(255, 204, 153);
66 range.HorizontalAlignment = XlHAlign.xlHAlignCenter;//单元格内水平对齐方式
67 range.EntireColumn.AutoFit(); //自动调整列宽
68 excel1.ActiveWorkbook.Close();
69 excel1.Quit();
70 excel1.DisplayAlerts = true;
71 MessageBox.Show("修改成功!", "提示");
72 }
73
74 /// <summary>
75 /// 获取一个数据表DT
76 /// </summary>
77 private System.Data.DataTable GetDT()
78 {
79 System.Data.DataTable dt = new System.Data.DataTable();
80 dt.Columns.Add("姓名");
81 dt.Columns.Add("性别");
82 dt.Columns.Add("年龄");
83 dt.Columns.Add("地址");
84 DataRow dr;
85 for (int m = 0; m < 7; m++)
86 {
87 dr = dt.NewRow();
88 dr["性别"] = "";
89 dr["姓名"] = "张三";
90 dr["年龄"] = 18;
91 dr["地址"] = "上海市徐家汇";
92 dt.Rows.Add(dr);
93 }
94 return dt;
95 }
96
97 private void button1_Click(object sender, EventArgs e)
98 {
99 ModifExcel();
100 }

 新建Excel样式                              修改后Excel的样式  

posted @ 2011-12-23 15:29  蓝月天南  阅读(773)  评论(1编辑  收藏  举报