• 调用存储过程取到数据通过NPOI存到Excel中


     

      //调用
     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:dataoutput.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;
            }

    
    


  • 相关阅读:
    你所不知道的mfc…mfc项目索引 &mfc调优指南 &mfc vc添加添加子功能指南
    Cu 大彻大悟内存管理 mm (update 0410)
    [转]Linux iostat监测IO状态
    linux virtual memory layout by moniskiller upload [读书笔记]
    河畔找到的 面经笔经
    【转】Linux本地磁盘(硬盘)介绍
    读写UTF8、Unicode文件
    codesmith执行时提示“调用的目标发生了异常”的处理过程经验。
    DB2表信息以及字段信息的表
    iBatis.NET获取resultMap相关数据
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10829760.html
  • Copyright © 2020-2023  润新知