• 欢迎浏览“String me = Creater\忠实的资深Linux玩家;”,请文明浏览,理性发言,有侵犯你的权益请邮件我(creater@vip.qq.com).
  • 把任何的失败都当作一次尝试,不要自卑;把所有的成功都想成是一种幸运,不要自傲。
  •    5年前 (2013-08-08)  C# |   7 条评论  18 
    文章评分 0 次,平均分 0.0

    以下知识点仅为本人阅读MSDN所了解,所以正确性应该可以保证,但是不排除一些理解错误。

    1.首先是添加Excel的dll,在COM里找。
    2.一个操作Excel的应用程序应该有一个 Excel.Application;一个Excel.Application应该有Excel.Workbooks工作薄集合;一个Excel.Workbooks至少有一个Excel.Workbook工作薄;一个Excel.Workbook至少有一个Excel.Worksheet工作表。我们一般就是对工作表操作。
    3.Excel.Workbooks使用Open来打开一个或者多个excel文件,但是一般工作薄取当前活跃的工作薄(Excel.Workbook excelBook = excel.ActiveWorkbook)。
    4.工作表的获取,可以两种方式,一种通过序号(Excel.Worksheet excelSheet = (Excel.Worksheet)excelBook.Sheets[1];);一种通过当前活跃的工作表属性获取(Excel.Worksheet excelSheet = (Excel.Worksheet)excelBook.ActiveSheet;)。
    5.修改工作表的属性,直接通过sheet,比如修改表名字( excelSheet.Name = "数据保存";)。
    6.单个excel表格的获取和修改,之间通过Cells来操作(excelSheet.Cells[4,1] = 123).
    7.单个excel表格的属性,也是通过Cells来操作,比如设置字体(excelSheet.Cells.Font.Name = "Verdana";),设置字体大小(excelSheet.Cells.Font.Size = 14;),加粗(excelSheet.Cells.Font.Bold = true;)。
    8.多个excel单元格的获取。Range对象,表示一个范围或者一个区域,get_Range第一个参数不能为missing。
    比如获取一个单元格

    range = excelSheet.get_Range("A15", missing);

    多个连续单元格(长方形区域)

    range = excelSheet.get_Range("A15:E25", missing); == range = excelSheet.get_Range("A15", “E25”);

    某行或者某列
    比如第3列

    range = (Excel.Range)excelSheet.Columns[3, Type.Missing];

    比如第5行

    range = (Excel.Range)excelSheet.Rows[5, missing];

    比如3-5行

    range = (Excel.Range)excelSheet.Rows["3:5", missing];

    9.对以上Range区域,可以继续使用Cells来访问了。
    10.访问不仅如此,各种属性设置也很多,还是看手册吧。
    11.资源的释放与避免程序退出后,ecxel进程仍旧存在。

                excel.Quit();
                System.Runtime.InteropServices.Marshal.ReleaseComObject(excel);
                excel = null;
                System.GC.Collect();
                System.Runtime.InteropServices.Marshal.ReleaseComObject(excelSheet);
                excelSheet = null;
                System.Runtime.InteropServices.Marshal.ReleaseComObject(excelBook);
                excelBook = null;
                System.Runtime.InteropServices.Marshal.ReleaseComObject(excelBooks);
                excelBooks = null;
    
     

    除特别注明外,本站所有文章均为String me = "Creater\忠实的资深Linux玩家";原创,转载请注明出处来自http://unix8.net/home.php/1823.html

    关于

    发表评论

    暂无评论

    切换注册

    登录

    忘记密码 ?

    切换登录

    注册

    扫一扫二维码分享