在VS中控制excel:
以下是在VS 2005中对excel 2003操作时,要用到的一些常用操作,在其他的环境组合里,如VS 2005和excel 2007,一些配置和操作会有些不同。
1. 要添加引用一个COM(dll):Microsoft Excel 9.0 Object Library。
2. 一些控制代码如下:
//创建excel对象 Excel.Application excelObj = new Excel.Application();excelObj.ScreenUpdating = false;
//创建excel工作薄 excelObj.Workbooks.Add(true);
//重命名工作表 Excel.Worksheet useInfoSheet = (Excel.Worksheet)excelObj.Workbooks[1].Worksheets[1]; useInfoSheet.Name = strSheetName;
//工作表字体居中 useInfoSheet.Cells.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
//工作表字体是否加粗,true-加粗,false-不加粗 useInfoSheet.Cells.Font.Bold = true;
//设置字体大小 useInfoSheet.Cells.Font.Size = 9;
//设置列的宽度 //获得要设置的范围 Excel.Range colRng1 = useInfoSheet.get_Range(useInfoSheet.Cells[1, 1], useInfoSheet.Cells[1, 1]);
//设置列宽的大小 colRng1.Columns.ColumnWidth = 9; Excel.Range unitRng1 = useInfoSheet.get_Range(useInfoSheet.Cells[1, 1], useInfoSheet.Cells[1, 21]);
//选定范围 unitRng1.Select();
//合并所选区域,true-合并一行,false-合并一列或一个区域 unitRng1.Merge(true); unitRng1.Font.Size = 16;
//给单元格赋值 excelObj.Cells[1, 1] = "Test";
/设置行高 Excel.Range rowRng1 = useInfoSheet.get_Range(useInfoSheet.Cells[1, 1], useInfoSheet.Cells[1, 1]); rowRng1.Rows.RowHeight = 25;
//设置单元格的背景色 Excel.Range chgColorRng1 = useInfoSheet.get_Range(useInfoSheet.Cells[5, 1], useInfoSheet.Cells[12 + intWorkInfoCnt + 10, 1]); chgColorRng1.Interior.Color = System.Drawing.Color.Silver.ToArgb();
//加边框 useInfoSheet.get_Range(useInfoSheet.Cells[5, 1], useInfoSheet.Cells[12 + intWorkInfoCnt + 10 + intBusiInfo, 21]).Borders.LineStyle = 1; excelObj.ScreenUpdating = true;
//使excel工作表可见 excelObj.Visible = true;