DataSet转Excel
public void doExport(DataSet ds)
{
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
int rowIdex = 1; //行的起始默认参数根据具体Excel模板更改
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)
{
rowIdex++;
colIndex = 0;
foreach (DataColumn col in table.Columns)
{
colIndex++;
excel.Cells[rowIdex, colIndex] = row[col.ColumnName].ToString();
}
}
string ExcelWorkSheetName = DateTime.Now.ToString("yyyyMMddHHmmss");
excel.Visible = false;
string fileName = Path.GetDirectoryName( Assembly.GetExecutingAssembly().Location) + ExcelWorkSheetName + ".xlsx";
excel.ActiveWorkbook.SaveAs(fileName, Microsoft.Office.Interop.Excel.XlFileFormat.xlExcel9795, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
excel.Quit();
System.Diagnostics.Process.Start(fileName);
excel = null;
GC.Collect();
}