Datagridview 获取到SQL数据库中的数据后,将数据导出成excel格式,报错

爱学习的火龙果 2014-03-28 03:21:02
错误 1 命名空间“Microsoft.Office”中不存在类型或命名空间名称“Tools”。是否缺少程序集引用? C:\Users\MBC\Documents\Visual Studio 2010\Projects\Test\export\Form1.cs 13 24 export

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
using System.Data.SqlClient;
using Microsoft.Internal.Performance;

using Microsoft.Office.Tools.Excel;
namespace export
{
public partial class Form1 : Form
{
public Form1()
{

InitializeComponent();

}

private void btn_getdata_Click(object sender, EventArgs e)
{
SqlConnection con;
con = new SqlConnection(@"server=.;uid=sa;pwd=abc;database=Northwind");
DataSet ds;
ds = new DataSet();
SqlDataAdapter sda;
con.Open();
string qurey = "select top 2 * from Orders";
sda = new SqlDataAdapter(qurey, con);
sda.Fill(ds, "Orders");
dataGridView1.DataSource = ds.Tables[0];
con.Close();

}

private void btn_export_Click(object sender, EventArgs e)
{
SqlConnection con;
con = new SqlConnection(@"server=.;uid=sa;pwd=abc;database=Northwind");
DataSet ds;
ds = new DataSet();
SqlDataAdapter sda;
con.Open();
string qurey = "select top 2 * from Orders";
sda = new SqlDataAdapter(qurey, con);
sda.Fill(ds, "Orders");
dataGridView1.DataSource = ds.Tables[0];
con.Close();
try
{
DataTabletoExcel(ds.Tables[0], "c:\\zczc1984.xls");
MessageBox.Show("成功");
}
catch (Exception ex)
{
MessageBox.Show("失败");
}

}

/// <summary>

/// 将DataGridView控件中数据导出到Excel

/// </summary>

/// <param name="gridView">DataGridView对象</param>

/// <param name="isShowExcle">是否显示Excel界面</param>

/// <returns></returns>

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;

Excel.Application xlApp = new Excel.ApplicationClass();
xlApp.DefaultFilePath = "";
xlApp.DisplayAlerts = true;
xlApp.SheetsInNewWorkbook = 1;
Excel.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(strFileName);
}
}
}
...全文
4067 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
我把那个dll文件加到工程的debug下了,,还添加引用Microsoft Excel 14.0 Object Library,
bdmh 2014-03-28
  • 打赏
  • 举报
回复
确定有没有引用Microsoft.Office.Tools.Excel所在的dll文件,必须引用dll,才能使用命名空间
  • 打赏
  • 举报
回复
有点急,分不多了,,大家帮帮忙,,

8,833

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 组件/控件开发
社区管理员
  • 组件/控件开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧