//调用
 public ActionResult GenerateExcel() {
            DataTable headerTable = new DataTable();
            headerTable.Columns.Add("Status_Id", Type.GetType("System.String"));
            headerTable.Columns.Add("Status_Name", Type.GetType("System.String"));
            headerTable.Columns.Add("Is_Now", Type.GetType("System.String"));
            headerTable.Columns.Add("Curr_User_Id", Type.GetType("System.String"));
            headerTable.Columns.Add("Flow_Id", Type.GetType("System.String"));
           
            DataRow headerRow = headerTable.NewRow();
            headerRow["Status_Id"] = "Status_Id";
            headerRow["Status_Name"] = "Status_Name";
            headerRow["Is_Now"] = "Is_Now";
            headerRow["Curr_User_Id"] = "Curr_User_Id";
            headerRow["Flow_Id"] = "Flow_Id";
            headerTable.Rows.Add(headerRow);

            DataTable contentTable = getDataByProc();

            generateExcelOP(headerTable, contentTable);
            ViewData["result"] = "Create successfully";
            return View("ExcelUpload");
        }

        //生成Excel

        public void generateExcelOP(DataTable headerTable,DataTable dt) {

            HSSFWorkbook workbook = new HSSFWorkbook();
            HSSFSheet sheet = workbook.CreateSheet() as HSSFSheet;

            //excel header info
            HSSFRow headerRow = sheet.CreateRow(0) as HSSFRow;
            for(int i = 0 ;i < headerTable.Columns.Count;i++){
                HSSFCell headerCell = headerRow.CreateCell(i) as HSSFCell;
                headerCell.SetCellValue(headerTable.Rows[0][i].ToString());
                headerRow.Cells.Add(headerCell);
            }

            //excel content info
            for(int m =0 ;m < dt.Rows.Count;m++){
                HSSFRow row = sheet.CreateRow((m+1)) as HSSFRow;
                for (int n = 0; n < dt.Columns.Count;n++ )
                {
                    HSSFCell cell = row.CreateCell(n) as HSSFCell;
                    cell.SetCellValue(dt.Rows[m][n].ToString());
                    row.Cells.Add(cell);
                }
            }

            FileStream fs = new FileStream(@"D:\data\output.xls", FileMode.Create);
            workbook.Write(fs);
            fs.Flush();
            fs.Close();
            workbook.Clear();
        }

 

       //获取数据

        public DataTable getDataByProc() {
            DataTable dt = new DataTable();
            string callName = "GetAuthHistory";
            string devConn = System.Configuration.ConfigurationManager.ConnectionStrings["devConn"].ToString();
            using(SqlConnection conn = new SqlConnection(devConn)){
                SqlCommand command = new SqlCommand(callName, conn);
                command.CommandType = CommandType.StoredProcedure;
                SqlParameter[] sps = {
                                     new SqlParameter("@currPage",SqlDbType.Int),
                                      new SqlParameter("@pageSize",SqlDbType.Int)
                                     };
                sps[0].Value = 1;
                sps[1].Value = 20;
               foreach(SqlParameter sp in sps){
                   command.Parameters.Add(sp);
               }
               SqlDataAdapter sda = new SqlDataAdapter();
               sda.SelectCommand = command;
               sda.Fill(dt);
            }

            return dt;
        }

调用存储过程取到数据通过NPOI存到Excel中的更多相关文章

  1. python 数据如何保存到excel中--xlwt

    第一步:下载xlwt 首先要下载xlwt,(前提是你已经安装好了Python) 下载地址:  https://pypi.python.org/pypi/xlwt/   下载第二个   第二步:安装xl ...

  2. ffmpeg从AVFrame取出yuv数据到保存到char*中

    ffmpeg从AVFrame取出yuv数据到保存到char*中   很多人一直不知道怎么利用ffmpeg从AVFrame取出yuv数据到保存到char*中,下面代码将yuv420p和yuv422p的数 ...

  3. 数据可视化之powerBI基础(十一)Power BI中的数据如何导出到Excel中?

    https://zhuanlan.zhihu.com/p/64415543 把Excel中数据加载到PowerBI中我们都已经熟悉了,但是怎么把在PowerBI中处理好的数据导出到Excel中呢?毕竟 ...

  4. 把数据库里面的stu表中的数据,导出到excel中

    # 2.写代码实现,把我的数据库里面的stu表中的数据,导出到excel中 #编号 名字 性别 # 需求分析:# 1.连接好数据库,写好SQL,查到数据 [[1,'name1','男'],[1,'na ...

  5. python爬取数据保存到Excel中

    # -*- conding:utf-8 -*- # 1.两页的内容 # 2.抓取每页title和URL # 3.根据title创建文件,发送URL请求,提取数据 import requests fro ...

  6. 「拉勾网」薪资调查的小爬虫,并将抓取结果保存到excel中

    学习Python也有一段时间了,各种理论知识大体上也算略知一二了,今天就进入实战演练:通过Python来编写一个拉勾网薪资调查的小爬虫. 第一步:分析网站的请求过程 我们在查看拉勾网上的招聘信息的时候 ...

  7. 使用Npoi向Excel中插入图片

    先把数据库中的数据都导入到Excel表格中,把图片地址的路径全部转成绝对路径. 使用Npoi读取刚导出的Excle表格,把图片那个单元格的图片路径读出来,然后用文件流读取图片,然后通过Npoi把图片放 ...

  8. 用Python提取XML里的内容,存到Excel中

    最近做一个项目是解析XML文件,提取其中的chatid和lt.timestamp等信息,存到excel里. 1.解析xml,提取数据 使用python自带的xml.dom中的minidom(也可以用l ...

  9. c# 应用NPOI 获取Excel中的图片,保存至本地的算法

    要求:读取excel中的图片,保存到指定路径 思路:  利用NPOI中 GetAllPictures()方法获取图片信息 步骤: 1.新建一个Windows窗体应用程序 2.桌面新建一个excel,贴 ...

随机推荐

  1. 剑指offer——47把数组排成最小的数

    题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323.   题解: ...

  2. 新建pc端页面的模板

    pc端页面,要做兼容.新建pc端模板时,先要初始化浏览器的样式,我命名为reset.css @charset "utf-8"; /* 取消链接高亮 */ body,div,ul,l ...

  3. <思维导图>思维导图

  4. 匈牙利算法实战codevs1022覆盖

    1022 覆盖    时间限制: 1 s  空间限制: 128000 KB  题目等级 : 大师 Master 题解  查看运行结果     题目描述 Description 有一个N×M的单位方格中 ...

  5. linux常用命令 满足99%的开发需要

    1.# 表示权限用户(如:root),$ 表示普通用户开机提示:Login:输入用户名password:输入口令 用户是系统注册用户成功登陆后,可以进入相应的用户环境.退出当前shell,输入:exi ...

  6. css3 一个六边形 和 放大旋转动画DEMO演示

    <!DOCTYPE html> <html> <head> <meta charset="gb2312"> <title> ...

  7. 标准 IO 测试 可以打开多少流

    #include <stdio.h> #include <string.h> #include <errno.h> //trerror(errno) int mai ...

  8. 1 新增硬盘挂载home文件夹。 2 修理扇区

    一 挂载新硬盘 主机磁盘容量不够大时,想新增一颗新磁盘的时候.并将磁盘全部分割成单一分割槽,且将该分割槽挂载到/home目录,你该怎么做呢? 1  安装硬盘. 2  磁盘分区. 3 格式化磁盘 4 将 ...

  9. 笔记49 在Spittr应用中整合Hibernate

    在前边构建的Spittr应用中整合Hibernate 由于最近所学的hibernate都是使用xml方式进行配置的,所以在与以Java方式配置的Spittr应用结合时就会出现一些小问题,在此进行总结. ...

  10. 初识webSocket及其使用

    阅读目录 1.什么是webSocket? 2.webSocket实现原理 3.webSocket优点 4.webSocket和socket的区别 5.webSocket API 6.webSocket ...