利用以下程序生产excel.dll
..\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin\TlbImp.exe excel.exe
在.net开发环境中引入excel.dll
public void exportToExcel(){
try {
Excel.Application oXL = new Excel.Application();
Excel.Workbook theWorkbook;
Excel.Worksheet worksheet;
oXL.Visible = this.ExcelVisible;
theWorkbook = oXL.Workbooks.Add(Type.Missing);
//
if ( theWorkbook.Worksheets.Count > 0) {
worksheet = (Excel.Worksheet)theWorkbook.Sheets[1];
worksheet.Activate();
Excel.Range rg = null;
int RowCounter = 2;
DataRow[] rpt = data.Select("","");
for(int i=0;i<data.Columns.Count;i++){
worksheet.Cells[1,i+1] = data.Columns[i].ColumnName;
}
foreach(DataRow dr in rpt) {
rg = (Excel.Range)worksheet.Rows[RowCounter, Type.Missing];
rg.HorizontalAlignment = Excel.Constants.xlCenter;
rg.Cells.RowHeight = 12;
rg.Font.Name = "Aerial";
rg.Font.Size = 12;
for(int i=0;i<dr.ItemArray.Length;i++){
worksheet.Cells[RowCounter,i+1] = dr.ItemArray[i].ToString();
}
RowCounter++;
}
FileInfo f = new FileInfo(excelFileName);
if(f.Exists)
f.Delete();
oXL.ActiveWorkbook.SaveAs(excelFileName,
Excel.XlFileFormat.xlWorkbookNormal, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlNoChange ,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,Type.Missing);
oXL.Visible = false;
theWorkbook.Close(null,null,null);
oXL.Workbooks.Close();
oXL.Application.Quit();
oXL.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(worksheet);
System.Runtime.InteropServices.Marshal.ReleaseComObject(theWorkbook);
System.Runtime.InteropServices.Marshal.ReleaseComObject(oXL);
worksheet = null;
theWorkbook = null;
oXL = null;
//
}
}
catch(Exception ex) {
MessageBox.Show(ex.ToString());
}