导出excel表(将数据库里的数据表保存为xls的文件)

16 篇文章 0 订阅
1.先得出一个表Table。
2.在代码中建一个excel实例。
在建实例前先引用 Microsoft.Office.Interop.Excel组件——添加引用
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
excel.Workbooks.Add(true);
3.将table时的数据,循环遍历插入到excel中。

具体实例如下:
string connectionstr = "Server=192.168.1.10;database=ssh;uid=sa;pwd=1234";
string sqlstr = "select * from medstock";
SqlConnection con = new SqlConnection(connectionstr);
SqlCommand cmd = new SqlCommand(sqlstr,con);
DataSet ds = new DataSet();
DataTable db = new DataTable();
SqlDataAdapter adp = new SqlDataAdapter(cmd);//由于SqlDataAdapter自身带有数据库打开与关闭功能,所以不用手动打开数据库与关闭。
adp.Fill(ds,"table1");
db = ds.Tables["table1"];

//建列名,根据实际情况而定,即要在excel中显示的列名;
string[] str=new string[db.Columns.Count];
for (int i = 0; i < str.Length-2; i++)
{
str[i] = db.Columns[i+1].ColumnName;
}
//建excel实例。也就是table的容器;
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
excel.Workbooks.Add(true);
//先在excel中显示出table的列名;
for (int i = 0; i < str.Length; i++)
{
excel.Cells[1, i + 1] = str[i];
}
//再向excel中循环添加表中的每一行的每一列;
if (db.Rows.Count > 0)
{
for (int i = 0; i < db.Rows.Count; i++)
{
for (int j = 1; j < db.Columns.Count; j++)
{
string str1 = db.Rows[i][j].ToString();
excel.Cells[i + 2, j] = "'" + str1;
}
}
}
//设置禁止弹出保存和覆盖的询问提示框
// excel.DisplayAlerts = false;
// excel.AlertBeforeOverwriting = false;
excel.Save();//保存excel文件
excel.Quit();//确保Excel进程关闭
excel.Visible = true;// 前台可见 后台运行
excel = null;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值