数据库数据用Ex cel 导出的3 种方法 分类: .Net 2008-06-30 11:07 192 人阅读 评论(2) 收藏 举报 将数据库数据用Excel 导出主要有3 种方法:用Excel.Application 接口、用OleDB、用HTML的Tabel 标签 方法1——Excel.Application 接口: 首先,需要要Excel.dll 这个文件,确保自身机器上装有MS Office,在 Office 安装目录(../Microsoft Office/OFFICE11/,具体目录取决于自己的安装)中找到 Excel.exe,然后放在(../Microsoft Visual Studio 8/SDK/v2.0/Bin)目录中,在 CMD 中输入“CD C:/Program Files/Microsoft Visual Studio 8/SDK/v2.0/Bin(具体目录取决于自己的安装)”,然后输入“TlbImp EXCEL.EXE Excel.dll”。然后在 Bin 这个文件夹中就能找到 Excel.dll 这个文件。用到时候在项目中引用就可以。 要使用命名空间 using Excel; 具体代码: ///
/// 将 SQLServer 中的数据导出到Excel(使用Excel 类,在没装Office 时无效) /// ///
要导出的数据集 ///
输出到的文件目录 public static void SQLServerToExcel(DataSet ExelDt, string fileName) { int colIndex = 1, rowIndex = 1; Excel.Application excel; Workbook wBook; Worksheet wSheet; try { excel = new Excel.Application(); wBook = excel.Application.Workbooks.Add(true); wSheet = wBook.Worksheets[1] as Worksheet; //excel.Visible = true; } catch { Win32.MsgBox(0, "您可能没有安装Office,请安装再使用该功能", "", 0); return; } try { foreach (DataColumn col in ExelDt.Tables[0].Columns) { wSheet.Cells[1, colIndex] = col.ColumnName; colIndex++; } foreach (DataRow row in ExelDt.Tables[0].Rows) { rowIndex++; colIndex = 0; foreach (DataColumn col in ExelDt.Tables[0].Columns) { colIndex++; if (colIndex == 1) { wSheet.Cells[rowIndex, colIndex] = "'" + row[col.ColumnName].ToString(); } else { wSheet.Cells[rowIndex, colIndex] = row[col.ColumnName].ToString(); } } } //设置禁止弹出保存和覆盖的询问提示框 excel.DisplayAlerts = false; excel.AlertBeforeOve...