• VSTO学习笔记一


    1、加载文本文档到Excel中

    View Code
    private void Sheet1_Startup(object sender, System.EventArgs e)
    {
    #region the first method
    Application.ScreenUpdating
    = false;
    Application.Workbooks.Open(
    @"C:\regist.log",System.Type.Missing,false,System.Type.Missing,System.Type.Missing,System.Type.Missing,System.Type.Missing,System.Type.Missing,",",true,System.Type.Missing,System.Type.Missing,true,System.Type.Missing,System.Type.Missing);
    Application.ScreenUpdating
    = true;
    #endregion

    2、加载网络文本到Excel中

    View Code
    private void Sheet1_Startup(object sender, System.EventArgs e)
    {
    #region the second method
    this.Application.Workbooks.OpenText("http://www.baidu.com", Excel.XlPlatform.xlMacintosh, 3, Excel.XlTextParsingType.xlDelimited, Excel.XlTextQualifier.xlTextQualifierNone, missing, missing, missing, false, missing, missing, missing, missing, missing, missing, missing, missing, missing);
    #endregion
    }

    3、加载DataSet数据到Excel中

    View Code
    private void Sheet1_Startup(object sender, System.EventArgs e)
    {

    #region the third method:load the dataset into the worksheet

    DataSet ds
    = GetDataSet();
    int count = 1;
    foreach (DataRow dr in ds.Tables[0].Rows)
    {
    Excel.Range rng
    = this.Application.get_Range("A"+count++,missing);
    rng.Value2
    = dr.ItemArray;
    }
    #endregion

    4、删除Excel的sheet

    View Code
    private void Sheet1_Startup(object sender, System.EventArgs e)
    {

    #region the forth method:delete the worksheet

    Application.DisplayAlerts
    = false;
    ((Excel.Worksheet)
    this.Application.ActiveWorkbook.Sheets[2]).Delete();
    Application.DisplayAlerts
    = true;
    Application.Quit();
    #endregion
    }

    5、操作Excel的单元格

    View Code
    private void Sheet1_Startup(object sender, System.EventArgs e)
    {
    #region the fifth method:the excel named ranges

    Microsoft.Office.Tools.Excel.NamedRange namedRange1
    = Controls.AddNamedRange(this.Range["A1","A10"],"namedRange1");
    Microsoft.Office.Tools.Excel.NamedRange namedRange2
    = Controls.AddNamedRange(this.Range["A1",missing],"namedRange2");

    namedRange1.Merge(
    false);
    namedRange2.Merge(
    false);

    namedRange1.BorderAround(missing, Excel.XlBorderWeight.xlHairline, Excel.XlColorIndex.xlColorIndexAutomatic, missing);
    namedRange1.AutoFormat(Excel.XlRangeAutoFormat.xlRangeAutoFormat3DEffects1,
    true,false,true,false,true,true);
    #endregion
    }

    6、单元格式限定

    View Code
    private void Sheet1_Startup(object sender, System.EventArgs e)
    {
    #region this sixth method:cell manipulation

    Excel.Range rng
    = Globals.Sheet1.Range["B3", "B3"] as Excel.Range;
    rng.Value2
    = "123456";
    rng.NumberFormat
    = "$#,###.0";
    rng
    = rng.Cells[3, 3] as Excel.Range;
    rng.Value2
    = "new";
    #endregion
    }

    7、单元格合并

    View Code
    private void Sheet1_Startup(object sender, System.EventArgs e)
    {
    #region the seventh method:working with unions

    Excel.Range rngA
    = Globals.Sheet1.Range["a2", "B3"] as Excel.Range;
    rngA.Value2
    = "Mortgage";
    Excel.Range rngB
    = Globals.Sheet1.Range["a5", "B6"] as Excel.Range;
    rngB.Value2
    = "Interest";

    Excel.Range unionRange
    = Application.Union(rngA,rngB,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing) as Excel.Range;
    unionRange.Font.Color
    = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red);

    #endregion
    }

    8、密码保护

    View Code
    private void Sheet1_Startup(object sender, System.EventArgs e)
    {
    #region the eighth method:workbook password protection

    string password = this.Password;
    this.Protect(password, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
    this.Unprotect(password);
    #endregion
    }

    9、单元格事件触发

    View Code
    private void Sheet1_Startup(object sender, System.EventArgs e)
    {
    #region the ninth method:responding to events

    Microsoft.Office.Tools.Excel.NamedRange namedRange1
    = Globals.Sheet1.Controls.AddNamedRange(Globals.Sheet1.Range["A1",missing],"NamedRange");
    namedRange1.Change
    +=new Microsoft.Office.Interop.Excel.DocEvents_ChangeEventHandler(namedRange1_Change);

    #endregion
    }

    private void namedRange1_Change(Microsoft.Office.Interop.Excel.Range target)
    {
    if (!this.Application.CheckSpelling((string)target.Value2, null, true))
    {
    MessageBox.Show(
    "拼写有误!");
    }
    }

    参照的书籍是:Wrox.Professional.VSTO.2005.Visual.Studio.2005.Tools.for.Office.May.2006.pdf  

  • 相关阅读:
    3.db2性能和优化
    SpringBoot之demo
    1设计模式---工厂模式。
    1.添加maven项目后,tomcat启动失败
    2.如何卸载mysql
    2.hdfs中常用的shell命令
    1.在eclipse上添加maven
    2.hive入门篇
    1.hive数据库调优之路
    2.myeclipse的使用技巧
  • 原文地址:https://www.cnblogs.com/scy251147/p/1951447.html
Copyright © 2020-2023  润新知