现在的位置: 首页 > 综合 > 正文

数据库到出Excel(Access)

2013年09月15日 ⁄ 综合 ⁄ 共 3070字 ⁄ 字号 评论关闭

 #region 导出 Excel 文件#region 导出 Excel 文件

        /// <summary>
        /// 导出 Excel 文件
        /// </summary>
        /// <param name="ds">要导出的DataSet</param>
        /// <param name="strExcelFileName">要导出的文件名</param>
        private bool ExportExcel(int columnCount, DataSet ds, string strExcelFileName)
        {
            try
            {
                object objOpt = Missing.Value;

                Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();
                //新建工作簿
                excelApp.Visible = true;
                _Workbook wkb = excelApp.Workbooks.Add(objOpt);
                _Worksheet wks = (_Worksheet)wkb.ActiveSheet;

                //int columnCount = dataGridView1.Columns.Count;

                for (int i = 0; i < columnCount; i++)
                {
                    Microsoft.Office.Interop.Excel.Range headRange = wks.Cells[1, i + 1] as Microsoft.Office.Interop.Excel.Range; //获取表头单元格
                    headRange.Cells.Font.Name = "黑体";
                    headRange.ColumnWidth = 20;
                   
                    headRange.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter; //水平剧中
                }
                wks.Visible = XlSheetVisibility.xlSheetVisible;

                int rowIndex = 1;
                int colIndex = 0;

                System.Data.DataTable table = ds.Tables[0];
                foreach (DataColumn col in table.Columns)
                {
                    colIndex++;
                    excelApp.Cells[1, colIndex] = col.ColumnName;

                    //excelApp.Cells.Width=100;
                }

                foreach (DataRow row in table.Rows)
                {
                    rowIndex++;
                    colIndex = 0;
                    foreach (DataColumn col in table.Columns)
                    {
                        colIndex++;
                        Microsoft.Office.Interop.Excel.Range contentRange = wks.Cells[rowIndex, colIndex] as Microsoft.Office.Interop.Excel.Range; //获取内容单元格
                        contentRange.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignLeft; //水平剧中
                        if (colIndex == 1)
                        {
                            contentRange.Cells.NumberFormat="@";
                        }
                        if (colIndex == 4)
                        {
                            excelApp.Cells[rowIndex, 4] = row[col.ColumnName].ToString().Substring(0, 9);
                        }
                        if (colIndex == 6)
                        {
                            excelApp.Cells[rowIndex, 6] = row[col.ColumnName].ToString().Substring(0, 9);
                        }
                        else
                        {
                            excelApp.Cells[rowIndex, colIndex] = row[col.ColumnName].ToString();
                        }

                    }
                }

                wkb.SaveAs(strExcelFileName, objOpt, null, null, false, false, XlSaveAsAccessMode.xlNoChange, null, null, null, null, null);
                wkb.Close(false, objOpt, objOpt);
                excelApp.Quit();
                return true;

            }
            catch
            {
                return false;
            }

        }
        #endregion

【上篇】
【下篇】

抱歉!评论已关闭.