首先將excel.exe copy 到 ..\Microsoft Visual Studio .NET
2003\SDK\v1.1\Bin目錄下
利用.net 中帶的工具在命令提示符下執(zhí)行tlbimp
excel.exe.這樣就不會因為你的Excel是xp或2000的不同要去找不同的*.olb文件,,還有一點就是因為在2000以后的版本中沒有了excel9.olb這個文件了,。
通過執(zhí)行tlbimp excel.exe后我們會得到excel.dll文件,。
只要有了這個Excel.dll,,現(xiàn)在我們就能使用Excel的各種操作函數(shù)了,。
在Visual Studio .NET中建立一個C# WinForm工程.
添加Microsoft Excel Object Library引用:
右鍵單擊Project , 選“添加引用”
在COM 標(biāo)簽項,,選中 locate Microsoft Excel Object Library
using Excel = Microsoft.Office.Interop.Excel;
using System.Reflection;
Excel.Application excel= new Excel.Application();
int rowIndex=1;
int colIndex=0;
excel.Application.Workbooks.Add(true);
System.Data.DataTable table=ds.Tables[0] ;
foreach(DataColumn col in table.Columns)
{
colIndex++;
excel.Cells[1,colIndex]=col.ColumnName;
}
foreach(DataRow row in table.Rows)
{
rowIndex++;
colIndex=0;
foreach(DataColumn col in table.Columns)
{
colIndex++;
excel.Cells[rowIndex,colIndex]=row[col.ColumnName].ToString();
}
}
excel.Visible=false;
excel.ActiveWorkbook.SaveAs("C:/A.XLS",Excel.XlFileFormat.xlExcel9795,null,null,false,false,Excel.XlSaveAsAccessMode.xlNoChange,null,null,null,null,null);
//wkbNew.SaveAs strBookName
//excel.Save(strExcelFileName);
excel.Quit();
excel=null;
GC.Collect();//垃圾回收
回收垃圾
public void KillWordProcess()
{
int ProceedingCount = 0;
try
{
System.Diagnostics.Process [] ProceddingCon = System.Diagnostics.Process.GetProcesses();
foreach(System.Diagnostics.Process IsProcedding in ProceddingCon)
{
if(IsProcedding.ProcessName.ToUpper() == "WINWORD")
{
ProceedingCount += 1;
IsProcedding.Kill();
}
}
}
catch(System.Exception err)
{
MessageBox.Show(err.Message + "\r" +"(" + err.Source + ")" + "\r" + err.StackTrace);
}
}
#endregion