第一步:添加引用-->Com-->Microsoft Excel 11.0 Object Library
第二步:在文件最上方加:using Excel = Microsoft.Office.Interop.Excel;
第三步:编辑下面两个方法
/// <summary>/// 执行完Excel操作方法后执行资源回收操作,必须与Excel操作的方法分开/// </summary>private void ExcelWrite(){ try { ExcelOperation(); } finally { System.GC.Collect(); } }
/// <summary>/// Excel操作,只是例子/// </summary>private void ExcelOperation(){ // //定义一个缺少的object对象 object oMis = System.Reflection.Missing.Value;
// //定义一个Excel程序对象 Excel.ApplicationClass excelApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
// //由Execl程序创建一个工作薄对象 Excel.Workbook excelWorkBook = excelApp.Workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet);
// //由工作薄对象创建一个工作表 Excel.Worksheet excelWorkSheet = (Excel.Worksheet)excelWorkBook.Worksheets.Add(oMis, oMis, 1, oMis);
// //设置工作的表的名字 excelWorkSheet.Name = "测试项目";
// //定义一个Excel区域对象,用于保存选择的区域 Excel.Range selectRange;
// //设置第1行第1列的值 ((Excel.Range)excelWorkSheet.Cells[1, 1]).set_Item(1, 1, "日期");
// //设置第1行第2列的值 ((Excel.Range)excelWorkSheet.Cells[1, 1]).set_Item(1, 2, "时间");
// //选择第2行第2列至第2行第2列,设置值与格式 selectRange = excelWorkSheet.get_Range(excelWorkSheet.Cells[2, 2], excelWorkSheet.Cells[2, 2]); selectRange.set_Item(1, 1, "11:30"); selectRange.NumberFormatLocal = @"h:mm;@"; // //选择第3行第2列至第2行第2列,设置值与格式 selectRange = excelWorkSheet.get_Range(excelWorkSheet.Cells[3, 2], excelWorkSheet.Cells[3, 2]); selectRange.set_Item(1, 1, "12:30"); selectRange.NumberFormatLocal = @"h:mm;@";
// //选择第4行第2列至第2行第2列,设置值与格式 selectRange = excelWorkSheet.get_Range(excelWorkSheet.Cells[4, 2], excelWorkSheet.Cells[4, 2]); selectRange.set_Item(1, 1, "13:30"); selectRange.NumberFormatLocal = @"h:mm;@";
// //选择第5行第2列至第2行第2列,设置值与格式 selectRange = excelWorkSheet.get_Range(excelWorkSheet.Cells[5, 2], excelWorkSheet.Cells[5, 2]); selectRange.set_Item(1, 1, "14:30"); selectRange.NumberFormatLocal = @"h:mm;@";
// //选择第6行第2列至第2行第2列,设置值与格式 selectRange = excelWorkSheet.get_Range(excelWorkSheet.Cells[6, 2], excelWorkSheet.Cells[6, 2]); selectRange.set_Item(1, 1, "15:30"); selectRange.NumberFormatLocal = @"h:mm;@";
// //选择第2行第1列至第2行第1列, selectRange = excelWorkSheet.get_Range(excelWorkSheet.Cells[2, 1], excelWorkSheet.Cells[2, 1]); // //选择是必须的,因设置了选择区域后并未选中此区域 selectRange.Select(); // //冻结窗体 excelApp.ActiveWindow.FreezePanes = true;
// //选择第2行第1列至第6行第1列, selectRange = excelWorkSheet.get_Range(excelWorkSheet.Cells[2, 1], excelWorkSheet.Cells[6, 1]); // //合并单元格 selectRange.Merge(oMis);
selectRange.EntireColumn.AutoFit(); //全部列自适应宽度 selectRange.EntireRow.AutoFit(); //全部行自适应高度
selectRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;//水平居中 selectRange.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter; //垂直居中
// //设置单元格的格式 selectRange.NumberFormatLocal = @"yyyy-m-d;@"; /* NumberFormatLocal = "¥#,##0.00_);[红色](¥#,##0.00)" //货币 NumberFormatLocal = "0.00%" //百分比 NumberFormatLocal = "# ??/??" //分数 * */
// //设置单元格的值 selectRange.set_Item(1, 1, "2007-02-27");
//selectRange.ColumnWidth = 50; //固定宽度 selectRange.Columns.AutoFit(); //自适应宽度
selectRange.Borders.LineStyle = BorderStyle.FixedSingle; //设置边框样式 selectRange.Borders.Weight = Excel.XlBorderWeight.xlThin; //边框粗细 selectRange.Borders.ColorIndex = Excel.XlColorIndex.xlColorIndexAutomatic; //颜色
excelWorkBook.Saved = true; //将工作薄的保存标志置为True
//捕捉异常,以防止文件为只读或已打开,保存时会出错 try { excelWorkBook.SaveCopyAs(@"d:/aa.xls"); } catch(Exception exp) { MessageBox.Show(exp.Message); }
//Excel程序退出,注意:要在外面释放内存资源 excelApp.Quit();}
