using System;
using System.Reflection;
namespace CExcel1
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
//創建Application對象
Excel.Application xApp=new Excel.ApplicationClass();
xApp.Visible=true;
//得到WorkBook對象, 可以用兩種方式之一: 下面的是打開已有的文件
Excel.Workbook xBook=xApp.Workbooks._Open(@"D:\Sample.xls",
Missing.Value,Missing.Value,Missing.Value,Missing.Value
,Missing.Value,Missing.Value,Missing.Value,Missing.Value
,Missing.Value,Missing.Value,Missing.Value,Missing.Value);
//xBook=xApp.Workbooks.Add(Missing.Value);//新建文件的代碼
//指定要操作的Sheet,兩種方式:
Excel.Worksheet xSheet=(Excel.Worksheet)xBook.Sheets[1];
//Excel.Worksheet xSheet=(Excel.Worksheet)xApp.ActiveSheet;
//讀取數據,通過Range對象
Excel.Range rng1=xSheet.get_Range("A1",Type.Missing);
Console.WriteLine(rng1.Value2);
//讀取,通過Range對象,但使用不同的接口得到Range
Excel.Range rng2=(Excel.Range)xSheet.Cells[3,1];
Console.WriteLine(rng2.Value2);
//寫入數據
Excel.Range rng3=xSheet.get_Range("C6",Missing.Value);
rng3.Value2="Hello";
rng3.Interior.ColorIndex=6; //設置Range的背景色
//保存方式一:保存WorkBook
//xBook.SaveAs(@"D:\CData.xls",Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value
// ,Excel.XlSaveAsAccessMode.xlNoChange,Missing.Value,Missing.Value,Missing.Value
//,Missing.Value,Missing.Value);
//保存方式二:保存WorkSheet
//xSheet.SaveAs(@"D:\CData2.xls",Missing.Value,Missing.Value,Missing.Value,Missing.Value
//,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value);
//保存方式三
xBook.Save();
xSheet=null;
xBook=null;
xApp.Quit(); //這一句是非常重要的,否則Excel對象不能從內存中退出
xApp=null;
}
}
}
用C#快速往Excel寫數據
本示例是用於將ListVIEw中的內容倒入到Excel
與常用的逐單元格寫不同的是,本例子采用數據寫入到range的方法。該方法效率明顯較高
Excel.Application app = new Excel.ApplicationClass();
if( app == null)
{
MessageBox.Show("Excel無法啟動");
return;
}
app.Visible = true;
Excel.Workbooks wbs = app.Workbooks;
Excel.Workbook wb = wbs.Add(Missing.Value);