首先要在工程中添加com引用,选择Microsoft Excel 11.0 Object Liberty。

源代码如下(本例是在下生成公司的考勤表 测试代码):

代码

1 using System;
2  using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Data;
5 using System.Drawing;
6 using System.Text;
7 using System.Windows.Forms;
8 using System.Data.SqlClient;
9 using Microsoft.Office.Interop.Excel;
10 using System.IO;
11 //using Microsoft.Office.Interop.Excel;
12
13 namespace AttToExcel
14 {
15 public partial class Form1 : Form
16 {
17 public Form1()
18 {
19 InitializeComponent();
20 }
21
22 private void button1_Click(object sender, EventArgs e)
23 {
24 Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
25 int rowIndex = 1;
26 int colIndex = 0;
27 excel.Application.Workbooks.Add(true);
28 System.Data.DataTable table = GetData();
29 // dealTable(table);
30
31 //将所得到的表的列名,赋值给单元格
32 foreach (DataColumn col in table.Columns)
33 {
34 colIndex++;
35 excel.Cells[1, colIndex] = col.ColumnName;
36 }
37
38
39 //同样方法处理数据
40 foreach (DataRow row in table.Rows)
41 {
42 rowIndex++;
43 colIndex = 0;
44 foreach (DataColumn col in table.Columns)
45 {
46 colIndex++;
47 excel.Cells[rowIndex, colIndex] = row[col.ColumnName].ToString();
48 }
49 }
50
51 Worksheet ws = (Worksheet)excel.ActiveSheet;
52 AutoFitColumn(ws, 5);
53 //true则直接用excel打开得到的数据
54 excel.Visible = true ;
55
56 }
57 //进行加班处理
58 private void dealTable(System.Data.DataTable table)
59 {
60
61 }
62 //让excel列宽自适应宽度
63 public static void AutoFitColumn(Worksheet ws, int col)
64 {
65 ((Range)ws.Cells[1, col]).EntireColumn.AutoFit();
66 }
67 //获取数据库打卡记录数据
68 private System.Data.DataTable GetData()
69 {
70 SqlConnection conn= new SqlConnection(@"Server=127.0.0.1;Initial Catalog=attendance;Uid=sa;Pwd=;");
71 String sqlText = sql;
73
89 SqlDataAdapter adapter = new SqlDataAdapter(sqlText, conn);
90
91 DataSet ds= new DataSet();
92 try
93 {
94 adapter.Fill(ds,"Customer");
95 }
96 catch(Exception ex)
97 {
98 MessageBox.Show(ex.ToString());
99 }
100 return ds.Tables[0];
101 }//end GetData()
102
103 }//end public partial class
104 }//end namespace

转载于:https://www.cnblogs.com/pchgo/archive/2009/12/07/1618625.html

c# 从sql 数据库生成 excel (转)相关推荐

  1. Python 每日定时查询数据库生成Excel报表,并群发邮件

    最近在做游戏打点数据的一些统计处理,写了个Python脚本完成每日定时自动查询生成Excel报表并群发邮件的小功能. 拆解几个需求点: 一.连接数据库并查询 以下是一个查询总注册人数的示例代码,hos ...

  2. 把服务器sql数据库导出excel文件,将mysql数据库数据以Excel文件的形式导出

    最近在工作中,领导让从数据库中导出一些数据并存放到Excel表格中,网上有许多教程,下面是我总结的其中俩种方法. 从数据库管理工具中导出(navicat) 在navicat导出数据导Excel中还是比 ...

  3. BI自动化之Python自动发报告(查询数据库生成报表和图片嵌入邮件)

    先看看效果图 代码: 1.生成图片 新建generate_picture.py,主要功能是查询数据库,生成图片和附件用于嵌入邮件 我这里的数据库是阿里的Maxcompute数据库,如果是SQL Ser ...

  4. 如何使用 Kafka、MongoDB 和 Maxwell’s Daemon 构建 SQL 数据库的审计系统

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取后台回复"k8s",可领取k8s资料 本文要点 审计日志 ...

  5. DRGs SQL数据库查询城镇职工医保定点医疗机构药占比

    医疗机构的药占比(不含中药饮片)是指医院药品收入/医疗收入×100%,通俗来说,就是病人看病的过程中,买药的花费占总花费的比例.去年10月27日由国家卫生计生委.国家发展改革委.财政部.人力资源社会保 ...

  6. word导入mysql表格,如何将excel表格导入mysql数据库【excel表格导入word太大】

    如何在excel表格中读取sql数据库数据 excel程序自带的外部功能,可以连接sql服.具体步骤为: 1.选择[数据]选项卡,在[获取外部数据]分组,找到[自其他来源]. 2.单击[自其他来源]按 ...

  7. php 备份数据库(生成word,excel,json,xml,sql)

    单表备份 代码: <?php class Db {var $conn;function Db($host="localhost",$user="root" ...

  8. azure上传excel_使用MS Excel访问Azure中的关系SQL数据库

    azure上传excel 介绍 (Introduction) There are great Microsoft tools to access to SQL Server in Azure. How ...

  9. 博图WINCC报表(SQL数据库的建立,TIA_wincc在数据库中保存和查询数据,调用Excel模板把数据保存到指定的位置)

    这里写目录标题 目录 一.概述 1.1 前言 1.2 主要功能 1.3 使用的软件 二. SQL server建库和建表 2.1.SQL server建库 2.2SQL server建表 三.建立wi ...

最新文章

  1. Redis实现消息队列的4种方案
  2. 详述白盒测试的逻辑覆盖法的条件判定覆盖及其优缺点
  3. android模拟器与PC的端口映射(转)
  4. 调用微信支付接口总结
  5. java链表对象_用Java实现链表结构对象:单向无环链表
  6. ssm框架重定向_精选 SSM 框架面试题整理
  7. python入门-Python入门之类(class)
  8. 解析JDK 7的Garbage-First收集器
  9. c# 火狐浏览器怎么嵌入窗体中_语言C#.net 如何将子窗体嵌入到父窗体里面
  10. 一篇文章彻底掌握 HDFS 跨集群跨版本数据同步工具 hadoop disctp
  11. DES加密算法介绍(含例子)
  12. 大话2服务器丢失怎么修复,我玩大话2,现在服务器找不见了,怎么办?
  13. 【百问网】物联网项目学习总结
  14. 2021-08-07 解决安装MacTeX后界面显示法语问题
  15. Pythom爬虫之图虫小姐姐图片的爬取:
  16. getdate、dateadd、datediff、datename、datepart关于日期函数的用法及理解
  17. Java统计字符串中字符重复次数
  18. java实现手机扫二维码登陆
  19. ath9k驱动内的数据发送过程
  20. spark报错:CREATE TEMPORARY TABLE

热门文章

  1. 怎么样用计算机才能让电量增多,如何让你的笔记本更省电 这几招你学会能管大用...
  2. java临时文件下载_Java临时文件
  3. hadoop和hdfs命令_Hadoop 1.x和2.x HDFS基本开发人员命令,“ hadoop”命令
  4. kotlin 循环_Kotlin控制流–否则,用于循环,同时,范围
  5. 开课吧Java:微服务设计遵循的规约有哪些?
  6. 开课吧:Java软件开发的优点有哪些?​
  7. (免费领)Java大厂面试题: 常见的异常类有哪些?
  8. 短短几分钟快速带你掌握C语言指南针!
  9. 每天学点SpringCloud(八):使用Apollo做配置中心
  10. RBAC-基于角色的权限管理