C#中联查的简单方法(如从数据库中获取到数据放到excel表中)

var path = new FileStream((Server.MapPath("~") + "Content\\data\\Cause\\事业单位管理人员基本情况.xls"), FileMode.Open, FileAccess.Read);

var wb = new HSSFWorkbook(path);

var shet = wb.GetSheet("page 1");

var chain = shet.Chain("D7");

var rowFun = new List<Func<PersonInfo, bool>>

{

//合计

m=>true,

m=>m.Sex.Equals("女"),

m=>!m.FamilyName.Contains("汉族"),

m=>m.PoliticalFace.Contains("党员"),

m=>m.HigthDeggee.Contains("博士"),

m=>m.HigthDeggee.Contains("硕士"),

m=>true,

m=>m.HigthDeggee.Contains("研究生"),

m=>m.HigthDeggee.Contains("大学本科"),

m=>m.HigthDeggee.Contains("大学专科"),

m=>m.HigthDeggee.Contains("中专"),

m=>m.HigthDeggee.Contains("高中及以下"),

//年龄

m=>m.AgeGroup.Contains("35岁及以下"),

m=>m.AgeGroup.Contains("36岁至40岁"),

m=>m.AgeGroup.Contains("41岁至45岁"),

m=>m.AgeGroup.Contains("46岁至50岁"),

m=>m.AgeGroup.Contains("51岁至54岁"),

m=>m.AgeGroup.Contains("55岁至59岁"),

m=>m.AgeGroup.Contains("60岁及以上"),

};

var colFun = new List<Func<PersonInfo, bool>>

{

m=>true,

m=>m.Sex.Equals("女"),

m=>!m.FamilyName.Contains("汉族"),  //少数名族

m=>m.ManageGrage.Contains("一级职员"),

m=>m.ManageGrage.Contains("二级职员"),

m=>m.ManageGrage.Contains("三级职员"),

m=>m.ManageGrage.Contains("四级职员"),

m=>m.ManageGrage.Contains("五级职员"),

m=>m.ManageGrage.Contains("六级职员"),

m=>m.ManageGrage.Contains("七级职员"),

m=>m.ManageGrage.Contains("八级职员"),

m=>m.ManageGrage.Contains("九级职员"),

m=>m.ManageGrage.Contains("十级职员"),

m=>m.ManageGrage.Contains("其他等级"),

//非在册正式人员

m=>!m.LaborForm.Contains("正式在编")&&!m.LaborForm.Contains("劳务派遣"),

};

var person = session.Find<PersonInfo>();
//这是我们自己封装的类,查询表中的数据

for (var k = 0; k < colFun.Count; k++)

{

var col = colFun[k];

for (var i = 0; i < rowFun.Count; i++)

{

var row = rowFun[i];

var result = person.Where(col).Where(row).ToList();

chain.Output(result.Count());  
//output是我们自己封装的类,自动换到下一个框里

}

chain.NextRow();   //nexnow是我们自己封装的类,自动换到下一行里,如自己导出行数+1即可

}

下面直接导出就可以了

时间: 2024-08-01 15:29:57

C#中联查的简单方法(如从数据库中获取到数据放到excel表中)的相关文章

利用数据库管理工具(Navicat)导出数据到Excel表中

如果只是想把数据库表中数据简单导出来,可以利用数据库管理工具中的工具 1.先查询 2.在查询出结果中全选 3.导出向导 4.选择Excel 5.选择导出地址并命名 原文地址:https://www.cnblogs.com/sanhao/p/9789232.html

使用NPOI方法导出数据到excel表中

使用NPOI方法导出到excel可以大量提高导出速度!步骤如下: (1)使用NPOI首先要有NPOI开发包(网上直接搜资源有的) (2)解压后把下边两个文件拷贝到自己的项目下(在bin目录下 .net4.0 下的 NPOI.dll和NPOI.xml) 我的项目结构大致如下 使用的是DAL结构 我把NPOI工具集放到了UI层 (3)添加引用(以我的项目为例:在我项目的UI点击引用--游览--然后找到刚才拷贝的两个文件 即可) (4)编写代码: 我的是一个点击事件 "导出" 前提条件就不说

mysql导出数据到excel表中

mysql>  select b.username,a.subject,a.money,FROM_UNIXTIME(a.ctime) from dlyun_ad_shop_pay a   INNER JOIN dlyun_common_member b  on a.uid=b.uid where a.ctime>='1429428970' and a.ctime<='1429689355' and a.`status` = 2  into outfile '/tmp/test.xls';

Android 添加数据到本地Excel表中

由于项目需要,今天学习了一下如何将程序里的数据添加到本地的Excel表中. 下面为学习笔记: 先上效果图: 首先,需要导入jxl.jar包到libs文件夹内. 然后创建Excel表,并往表里添加表头. // 创建excel表. public void createExcel(File file) { WritableSheet ws = null; try { if (!file.exists()) { // 创建表 wwb = Workbook.createWorkbook(file); //

扫描识别图中文字的简单方法

遇到图中文字需要识别提取出来的时候,大家都是如何去操作的呢?相信有一些小伙伴们首先想到的便是通过手动打字的方式进行转换,但是如果图中文字过多再采取这种做法的话简直太麻烦了,而且耽误时间,那有什么简单的方法呢?下面小编就来为大家讲解一种扫描识别图中文字的简单方法,有需要的小伙伴们可以参考一下. 操作步骤: 1:在电脑中将使用到的迅捷OCR文字识别软件打开,进入主界面后点击极速识别板块. 2:进入极速识别界面后,点击添加文件按钮,将所需转换的图片添加进来. 3:图片添加进来后,将文件识别格式设置为T

浅谈控件(组件)制作方法一(附带一delphi导出数据到Excel的组件实例)(原创)

来自:http://blog.csdn.net/zhdwjie/article/details/1490741 ------------------------------------------------------------------- 从99年学习delphi开始,我就被它的快速开发迷上了,那时候刚接触编程,对可视化开发特别来劲,原因嘛,不外乎是比C更快的实现啦,这几年来,从delphi的C/S到三层B/S,大大小小也写过一些软件,自认为这delphi也就这么些功能吧,自从最近偶得一

MySQL 处理重复数据:防止表中出现重复数据、统计、过滤、删除重复数据

MySQL 处理重复数据 有些 MySQL 数据表中可能存在重复的记录,有些情况我们允许重复数据的存在,但有时候我们也需要删除这些重复的数据. 本章节我们将为大家介绍如何防止数据表出现重复数据及如何删除数据表中的重复数据. 防止表中出现重复数据 你可以在 MySQL 数据表中设置指定的字段为 PRIMARY KEY(主键) 或者 UNIQUE(唯一) 索引来保证数据的唯一性. 让我们尝试一个实例:下表中无索引及主键,所以该表允许出现多条重复记录. CREATE TABLE person_tbl

在 SQL Server 中查询EXCEL 表中的数据遇到的各种问题

原文:在 SQL Server 中查询EXCEL 表中的数据遇到的各种问题 SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="D:\KK.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$] 问题: 消息 15281,级别 16,状态 1,第 1 行 SQL Server 阻止了对组件 'Ad Hoc Di

在Excel表中快速输入数据

我们平时在Excel表中总是要输入一些数据(比如:"对","错"等)信息,如果在一列中输入英文的话我们可能还是可以接受的,但是如果输入的中文,那么会不会很累呢?接下来我就告诉大家一个比较简单的办法,如何快速的输入数据: 我们首先打开以个Excel工作表,在该表中我们选择C列:如图1 图1 然后在"Home(开始)"选项中单击Number(数字)段旁边的小箭头:如图2 图2 弹出"format Cells(设置单元格格式)"对话