今天到网上搜了一下 , 网上真的是一大把,什么样的都有 不过看到了一个利用控件的,国外的控件,名字叫 MyXls.SL2.dll 大家可以到网上找一下, 下面是导出的代码 路径需要自己设置,我也没怎么做 只是实现了最基本的功能 /// <summary> /// 导出到excel /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Button1_Click(object sender, EventArgs e) { XlsDocument xls = new XlsDocument(); int rowIndex = 1; int colIndex = 0; xls.FileName = "报表打印"; System.Data.DataTable table = SqlHelper.dataSet(SqlHelper.connectionString, CommandType.Text, "select * from spt_values").Tables[0]; Worksheet sheet = xls.Workbook.Worksheets.Add("最新报表");//状态栏标题名称 Cells cells = sheet.Cells; foreach (DataColumn col in table.Columns) { colIndex++; //sheet.Cells.AddValueCell(1,colIndex,col.ColumnName);//添加XLS标题行 sheet.Cells.Add(1, colIndex, col.ColumnName); } foreach (DataRow row in table.Rows) { rowIndex++; colIndex = 0; foreach (DataColumn col in table.Columns) { colIndex++; //sheet.Cells.AddValueCell(rowIndex, colIndex, row[col.ColumnName].ToString());//将数据添加到xls表格里 Cell cell = cells.Add(rowIndex, colIndex, row[col.ColumnName].ToString());//转换为数字型 //如果你数据库里的数据都是数字的话 最好转换一下,不然导入到Excel里是以字符串形式显示。 cell.Font.FontFamily = FontFamilies.Roman; //字体 cell.Font.Bold = true; //字体为粗体 } } xls.Save(Server.MapPath("~/"), false); }