VSTO学习笔记一

1、加载文本文档到Excel中

VSTO学习笔记一 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中

VSTO学习笔记一 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中

VSTO学习笔记一 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

VSTO学习笔记一 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的单元格

VSTO学习笔记一 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、单元格式限定

VSTO学习笔记一 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、单元格合并

VSTO学习笔记一 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、密码保护

VSTO学习笔记一 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、单元格事件触发

VSTO学习笔记一 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  

你可能感兴趣的:(学习笔记)