Sql数据保存到Excel文件中
publicstringExportExcel( DataSet ds,stringsaveFileName)
{try{if(ds ==null)return"数据库为空";boolfileSaved =false;
Microsoft.Office.Interop.Excel.applicationxlApp=newMicrosoft.Office.Interop.Excel.Application();if(xlApp ==null)
{return"无法创建Excel对象,可能您的机子未安装Excel";
}
Microsoft.Office.Interop.Excel.Workbooks workbooks=xlApp.Workbooks;
Microsoft.Office.Interop.Excel.Workbook workbook=workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
Microsoft.Office.Interop.Excel.Worksheet worksheet= (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];//取得sheet1//写入字段for(inti =0; i < ds.Tables[0].Columns.Count; i++)
{
worksheet.Cells[1, i +1] = ds.Tables[0].Columns[i].ColumnName;
}//写入数值for(intr =0; r < ds.Tables[0].Rows.Count; r++)
{for(inti =0; i < ds.Tables[0].Columns.Count; i++)
{
worksheet.Cells[r+2, i +1] = ds.Tables[0].Rows[r][i];
}
System.Windows.Forms.Application.DoEvents();
}
worksheet.Columns.EntireColumn.AutoFit();//列宽自适应。if(saveFileName !="")
{try{
workbook.Saved=true;
workbook.SaveCopyAs(saveFileName);
fileSaved=true;
}catch(Exception ex)
{
fileSaved=false;
MessageBox.Show("导出文件时出错,文件可能正被打开!\n"+ex.Message);
}
}else{
fileSaved=false;
}
xlApp.Quit();
GC.Collect();//强行销毁if(fileSaved && System.IO.File.Exists(saveFileName)) System.Diagnostics.PRocess.Start(saveFileName);//打开EXCELreturn"成功保存到Excel";
}catch(Exception ex)
{returnex.ToString();
}
}