首先要引入com命名空间 Microsoft office 12.0 object library,将Microsoft.Office.Core;
Microsoft.Office.Interop.Excel命名空间复制本地属性设置为true
然后写如下代码:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Reflection;
using System.Runtime.InteropServices;
using Microsoft.Office.Core;
using Microsoft.Office.Interop.Excel;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
System.Data.DataTable tb = new System.Data.DataTable("myTable");//===========1
tb.Columns.Add(new DataColumn("strfhdh", typeof(System.String)));
tb.Columns.Add(new DataColumn("strhth", typeof(System.String)));
DataRow dr;
for (int i = 0; i < 3; i++)
{
dr = tb.NewRow();
dr[0] ="ddd";
dr[1] = "房贷首付是";
tb.Rows.Add(dr);
}
string dd = "<table border=1>" +
"<tr> <td>发撒旦法</td> <td>发撒旦法</td> <td>讨人厌</td> </tr> "+
"<tr> <td>发撒旦法</td> <td>发撒旦法</td> <td>讨人厌</td> </tr>"+
"<tr> <td>发撒旦法</td> <td>发撒旦法</td> <td>讨人厌</td> </tr>"+
"<tr> <td>发撒旦法</td> <td>发撒旦法</td> <td>讨人厌</td> </tr>"+
" <tr><td colspan=/"3/">fdsfsfd</td></tr>"+
" </table>"; // DataTabletoExcel(tb, "C://中国.XLS");
Response.Clear();
Response.Write(dd);
Response.ContentType="Applicationnd.ms-excel";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
Response.AddHeader("Content-Disposition","attachment;filename=ReqForQuote.xls");
Response.End();
}
public static void DataTabletoExcel(System.Data.DataTable tmpDataTable, string strFileName)
{
if (tmpDataTable == null)
return;
int rowNum = tmpDataTable.Rows.Count;
int columnNum = tmpDataTable.Columns.Count;
int rowIndex = 1;
int columnIndex = 0;
Application xlApp = new ApplicationClass();
xlApp.DefaultFilePath = "";
xlApp.DisplayAlerts = true;
xlApp.SheetsInNewWorkbook = 1;
Workbook xlBook = xlApp.Workbooks.Add(true);
//将DataTable的列名导入Excel表第一行
foreach (DataColumn dc in tmpDataTable.Columns)
{
columnIndex++;
xlApp.Cells[rowIndex, columnIndex] = dc.ColumnName;
}
//将DataTable中的数据导入Excel中
for (int i = 0; i < rowNum; i++)
{
rowIndex++;
columnIndex = 0;
for (int j = 0; j < columnNum; j++)
{
columnIndex++;
xlApp.Cells[rowIndex, columnIndex] = tmpDataTable.Rows[i][j].ToString();
}
}
//xlBook.SaveCopyAs(HttpUtility.UrlDecode(strFileName, System.Text.Encoding.UTF8));
xlBook.SaveCopyAs(strFileName);
}
}