1、加载文本文档到Excel中
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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中
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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中
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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的单元格
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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、单元格式限定
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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、单元格合并
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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、密码保护
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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、单元格事件触发
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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