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();
        }

posted @ 2016-12-03 10:41  牧羊人8683  阅读(229)  评论(0编辑  收藏  举报