raindust

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

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厘米

posted on 2008-06-16 11:44  ymz  阅读(825)  评论(0编辑  收藏  举报