这里直接从数据库导出的例子:
public Excel_export(string sql,string title)
{
Excel.Application excel;
Excel._Workbook xBk;
Excel._Worksheet xSt;
Excel._QueryTable xQt;
//创建数据库连接
string Conn = "ODBC;DRIVER=SQL Server;SERVER=[服务器地址或者名称];UID=[用户名];PWD=[密码];APP=[应用程序名称(一般为操作系统名)];WSID=[工作站名称(客户端)];DATABASE=[数据库名称]";
//Application对象实例化
excel = new Excel.ApplicationClass();
//创建新的excel
xBk = excel.Workbooks.Add(true);
xSt = (Excel._Worksheet)xBk.ActiveSheet;
//设置excel格式(示例)
excel.Cells[2,2] = title;
xSt.get_Range(excel.Cells[2,2],excel.Cells[2,2]).Font.Bold = true;
xSt.get_Range(excel.Cells[2,2],excel.Cells[2,2]).Font.Name = "黑体";
xSt.get_Range(excel.Cells[2,2],excel.Cells[2,2]).Font.Size = 22;
//导出excel数据
xQt = xSt.QueryTables.Add(Conn,xSt.get_Range(excel.Cells[4,2],excel.Cells[4,2]),sql);
//导出excel名称及其它配置
xQt.Name = "demo";
xQt.FieldNames = true;
xQt.RowNumbers = false;
xQt.FillAdjacentFormulas = false;
xQt.PreserveFormatting = false;
xQt.BackgroundQuery = true;
xQt.RefreshStyle = Excel.XlCellInsertionMode.xlInsertDeleteCells;
xQt.AdjustColumnWidth = true;
xQt.RefreshPeriod = 0;
xQt.PreserveColumnInfo = true;
xQt.Refresh(xQt.BackgroundQuery);
excel.Visible = true;
}