通过Visual Studio桌面应用程序创buildExcel工作簿button单击并填充sql数据<resolved>

用于Windows桌面的Visual Studio 2012 Microsoft SQL Server 2008 Excel 2007

我创build了一个桌面应用程序,使用数据绑定将数据input到SQL数据库中。 我现在需要创build一个报告,以excel工作簿的forms从应用程序客户端的SQL数据库中提取这些信息。

我的问题是:我怎样才能从SQL视图导出到我的桌面应用程序的Excel工作簿的所有列?

我有下面的基础工作,但不知道如何将视图数据放入工作表。

以下是我用来解决我的问题的代码。 可能不是最漂亮的,但它让我度过了一天。

更新的代码* *

using Excel = Microsoft.Office.Interop.Excel; using Microsoft.SqlServer.Server; private void button_Click(object sender, EventArgs e) { try { SqlConnection conn = new SqlConnection(); conn.ConnectionString = dataSet1.Properties.Settings.Default.ConnectionString.ToString(); SqlCommand cmd = new SqlCommand(); cmd.CommandText = "SELECT * FROM dbo.Table"; SqlDataAdapter da = new SqlDataAdapter(cmd.CommandText, conn); DataSet ds = new DataSet(); da.Fill(ds, "dbo.Table"); DataTable dt = ds.Tables["dbo.Table"]; Excel.Application oXL = new Excel.Application(); Excel.Workbook oWB = oXL.Workbooks.Add(); Excel.Worksheet oSheet = oWB.ActiveSheet; //Puts column headers starting in Row 5 int col = 0, row = 5; foreach (DataColumn dc in dt.Columns) { oXL.Cells[row, ++col] = dc.ColumnName.ToString(); } //Fills data starting in row 6 foreach (DataRow dr in dt.Rows) { row++; col = 0; foreach (DataColumn dc in dt.Columns) { oXL.Cells[row, ++col] = dr[dc.ColumnName]; } } } catch (Exception ex) { MessageBox.Show("Error"); } }