1.在项目中打开Add 引用对话框,选择COM栏,之后在COM列表中找到
"Microsoft Excel 9.0 Object Library"(Office 2000)" "Microsoft Excel 11.0 Object Library"(Office 2003)"
然后将其加入到项目的引用中即可。Visual C#.NET会自动产生相应的.NET组件文件,以后即可正常使用。
2.在代码中 加入:
using System.IO;
using System.Reflection;
using Excel=Microsoft.Office.Interop.Excel;
从C#导出到Excel 常用命令:
//建立Excel
Excel.Application myExcel = new Excel.Application ();
myExcel.Application.Workbooks.Add ( true );
Excel.Workbook myBook =myExcel.Workbooks[1]; //工作薄
Excel.Worksheet mySheet =(Excel.Worksheet)myBook.ActiveSheet;//工作区
myExcel.Visible = true ;
//合并单元格
// mySheet.get_Range(mySheet.Cells[1,1],mySheet.Cells[9,9]).HorizontalAlignment = XlHAlign.xlHAlignCenter;
// //Excel.Range myRange=mySheet.get_Range("A1","C1"); //另一种方法
// Excel.Range myRange=mySheet.get_Range(mySheet.Cells[1,1],mySheet.Cells[9,9]);
// myRange.Merge(null);
// myRange.Font.Bold =true;
// myRange.NumberFormatLocal="¥#,##0.00;¥-#,##0.00";
// myRange.set_Value(Excel.XlRangeValueDataType.xlRangeValueDefault,12345.6789);
//行合并
// mySheet.Cells[5, 1] = "制表人:余兴建";
// mySheet.get_Range(mySheet.Cells[5,1],mySheet.Cells[5,5]).Select();
// mySheet.get_Range(mySheet.Cells[5,1],mySheet.Cells[5,5]).Font.Bold = true;
// mySheet.get_Range(mySheet.Cells[5,1],mySheet.Cells[5,5]).Font.Size = 10;
// mySheet.get_Range(mySheet.Cells[5,1],mySheet.Cells[5,5]).HorizontalAlignment = XlHAlign.xlHAlignCenterAcrossSelection;
//设置单元格属性
myRange.NumberFormatLocal="¥#,##0.00;¥-#,##0.00"; //单元格输出类型
RangBt.RowHeight=30; //长
RangBt.ColumnWidth=36.5;//宽
RangBt.WrapText(); //换行
RangBt.ShrinkToFit=false;RangBt.MergeCells=false;//自适应高度
mySheet.get_Range(mySheet.Cells[rowStart + 1,colStart],mySheet.Cells[rowSum,intColSum])
.Columns.AutoFit(); ////设置报表表格为最适应宽度
mySheet.get_Range(mySheet.Cells[rowIndex,colStart],mySheet.Cells[rowIndex,intColSum]).
Interior.ColorIndex = 19;//设置为浅黄色,共计有56种
**************************绝招:先在Excel录制宏,再开看宏的代码。
//绘制边框
mySheet.get_Range(mySheet.Cells[10,1],mySheet.Cells[RowIndex,7]).Borders.LineStyle = 1;
mySheet.get_Range(mySheet.Cells[10,1],mySheet.Cells[RowIndex,1]).Borders[Excel.XlBordersIndex.xlEdgeLeft].Weight = XlBorderWeight.xlThin;//xlThick;//设置左边线加粗
mySheet.get_Range(mySheet.Cells[10,1],mySheet.Cells[10,7]).Borders[Excel.XlBordersIndex.xlEdgeTop].Weight = XlBorderWeight.xlThin;//设置上边线加粗
mySheet.get_Range(mySheet.Cells[10,7],mySheet.Cells[RowIndex,7]).Borders[Excel.XlBordersIndex.xlEdgeRight].Weight = XlBorderWeight.xlThin;//设置右边线加粗
mySheet.get_Range(mySheet.Cells[RowIndex,1],mySheet.Cells[RowIndex,9]).Borders[Excel.XlBordersIndex.xlEdgeBottom].Weight = XlBorderWeight.xlThin;//设置下边线加粗
//绘制一边
mySheet.get_Range(mySheet.Cells[3,1],mySheet.Cells[3,7]).Borders[Excel.XlBordersIndex.xlEdgeBottom].Weight = XlBorderWeight.xlThin;
//打印页面设置
mySheet.PageSetup.Orientation=Excel.XlPageOrientation.xlPortrait;//纵向 xlLandscape '横向
mySheet.PageSetup.PaperSize=Excel.XlPaperSize.xlPaperA4;//A4纸
string str="通过打印方向、打印纸张大小的设置,不断进行预览";
str+=((char)10).ToString()+"民生";//换行
// mySheet.PageSetup.CenterHeader=str; //页眉
mySheet.PageSetup.CenterHorizontally=true; //水平对齐
//mySheet.PageSetup.LeftFooter = "第 &P 页,共 &N 页"; //设置居中页脚显示
//设置左右距离
mySheet.PageSetup.LeftMargin = 1.9/0.035; //设置左边距为1厘米
mySheet.PageSetup.RightMargin = 1.9/0.035;//设置右边距为1.5厘米
mySheet.PageSetup.TopMargin = 1.2/0.035;//设置上边距为2.2厘米
mySheet.PageSetup.BottomMargin = 2.3/0.035;//设置下边距为2.1厘米