使用Excel处理数据时我们经常需要用到数据排序功能,这篇文章将介绍如何使用C#对Excel中的数据进行排序。这里介绍三种排序方式:

  1. 基于单元格的值进行排序
  2. 基于单元格的背景颜色进行排序
  3. 基于单元格的字体颜色进行排序

注:文中用到的组件是Spire.XLS,安装后,需要从安装目录Bin文件夹下引用Spire.Xls.dll文件到项目中。

1.基于单元格的值

//创建Workbook实例
Workbook workbook = new Workbook();
//加载Excel文档
workbook.LoadFromFile(@"SortData.xlsx");//获取第一个工作表
Worksheet worksheet = workbook.Worksheets[0];//指定需要排序的列索引以及排序的方式 (基于单元格的值)
SortColumn column = workbook.DataSorter.SortColumns.Add(0, SortComparsionType.Values, OrderBy.Descending);//排序是否包含标题(默认第一个数据为标题,不会对它进行排序)
workbook.DataSorter.IsIncludeTitle = false;//指定要排序的单元格范围并进行排序
workbook.DataSorter.Sort(worksheet.Range["A2:A9"]);//保存文档
workbook.SaveToFile(@"SortByValues.xlsx", ExcelVersion.Version2010);

2.基于单元格背景颜色

//创建Workbook实例
Workbook workbook = new Workbook();
//加载Excel文档
workbook.LoadFromFile(@"SortData.xlsx");//获取第二个工作表
Worksheet worksheet = workbook.Worksheets[1];//指定需要排序的列索引以及排序的方式 (基于单元格的背景颜色)
SortColumn column = workbook.DataSorter.SortColumns.Add(0, SortComparsionType.BackgroundColor, OrderBy.Top);
//指定背景颜色
column.Color = Color.Red;//排序是否包含标题(默认第一个数据为标题,不会对它进行排序)
workbook.DataSorter.IsIncludeTitle = false;//指定要排序的单元格范围并进行排序
workbook.DataSorter.Sort(worksheet.Range["A2:A8"]);//保存文档
workbook.SaveToFile(@"SortByCellColor.xlsx", ExcelVersion.Version2010);

3.基于单元格的字体颜色

//创建Workbook实例
Workbook workbook = new Workbook();
//加载Excel文档
workbook.LoadFromFile(@"SortData.xlsx");//获取第三个工作表
Worksheet worksheet = workbook.Worksheets[2];//指定需要排序的列索引以及排序的方式 (基于单元格的字体颜色)
SortColumn column = workbook.DataSorter.SortColumns.Add(0, SortComparsionType.FontColor, OrderBy.Bottom);
//指定字体颜色
column.Color = Color.Red;//排序是否包含标题(默认第一个数据为标题,不会对它进行排序)
workbook.DataSorter.IsIncludeTitle = false;//指定要排序的单元格范围并进行排序
workbook.DataSorter.Sort(worksheet.Range["A2:A8"]);//保存文档
workbook.SaveToFile(@"SortByFontColor.xlsx", ExcelVersion.Version2010);

C# 对Excel表格中的数据进行排序相关推荐

  1. 【唠叨两句】如何将一张树型结构的Excel表格中的数据导入到多张数据库表中...

    小弟昨天遇到一个相对比较棘手的问题,就像标题说的那样.如何将一张树型结构的Excel表格中的数据导入到多张数据库表中,在现实中实际是七张数据库表,这七张表之间有着有着相对比较复杂的主外键关系,对于我这 ...

  2. python读取excel表格-python读取excel表格中的数据

    使用python语言实现Excel 表格中的数据读取,需要用到xlrd.py模块,实现程序如下: import xlrd #导入xlrd模块 class ExcelData(): def __init ...

  3. python3读取excel数据-python3 读取Excel表格中的数据

    需要先安装openpyxl库 通过pip命令安装: pip install openpyxl 源码如下: #!/usr/bin/python3 #-*- coding:utf-8 -*- import ...

  4. c 语言如何处理表格文件中的数据库,C#程序从Excel表格中读取数据并进行处理

    今天做了一个Excel表格数据处理的事情,因为数据量表较大(接近7000条)所以处理起来有点麻烦,于是写了一个程序, 先将程序记下以便将来查找. using System; using System. ...

  5. 查询oracle数据库的表格数据类型,excel表格中如何查询数据库数据类型-我想把excel表格中的数据导入oracle数据库中,想在......

    在excel表里,什么是:字段.记录.数据类型.多工... declare @t table(id numeric(18,2)) insert into @t SELECT   col1 FROM   ...

  6. excel打开空白不显示内容 没有隐藏_办公软件操作技巧097:如何隐藏excel表格中没有数据的空白区域...

    在日常工作中,我们编辑好了excel表格以后,有时为了突出显示表格数据内容,或者为了后期编辑表格数据区时不受干扰等原因,可以把表格中没有数据的多余空白区域隐藏起来,如下图一为数据正常显示,图二为隐藏空 ...

  7. matlab表格三维柱状图,excel制作四维数据表格-excel三维柱形图 ,请问如何根据excel表格中的数据......

    Excel 什么是三维,四维表格 Excel表格中貌似没有三维.四维的概念,非得去解释,那么: 多张二维的表格构成三维的数据.四维只能是多个工作簿了. 怎样用excel制作一个小型数据库表格 Exce ...

  8. 用matlab处理表格,matlab删除excel表格数据-如何用matlab处理多个excel表格中的数据...

    如何用matlab处理多个excel表格中的数据 biao='D:\Program Files\matlab\bin\filename.xls'; A1=xlsread (biao,'Sheet1', ...

  9. cpp导入excel到mysql_将EXCEL表格中的数据导入mysql数据库表中

    本文转载自http://blog.sina.com.cn/s/blog_5d972ae00100gjij.html 今天项目上遇到需要将excel中的数据导入到数据库的classify表中,于是乎拼命 ...

最新文章

  1. 贵州大学明德学院计算机有多少班级,2014年贵州大学明德学院算机科学及信息系电子信息工程专业介绍...
  2. IOS NSPredicate 查询、搜索
  3. 【PAT乙级】1038 统计同成绩学生 (20 分)
  4. 亚马逊记AWS(Amazon Web Services)自由EC2应用
  5. 项目war包部署到第三方Tomcat,访问路径必须加上项目名称的坑
  6. 用python编写杨辉三角金字塔_用python实现三道简单算法题:杨辉三角,蛇形矩阵,金字塔...
  7. Java命令行界面(第18部分):JCLAP
  8. Eclipse插件中的SLF4J登录
  9. solaris php,针对 Solaris 的安装提示
  10. 亲身经历:一个00后的中专生是怎么在深圳拿到30K(Java后端开发)
  11. python 基础学习1
  12. html 伪元素原理,CSS伪类伪元素详解
  13. 单机游戏合集!12000G!淘宝购!
  14. Android开发——电话簿
  15. python数据分析水果_用python解决简单的水果分类问题
  16. java毕业设计产品销售管理系统Mybatis+系统+数据库+调试部署
  17. Dominating Patterns UVALive - 4670 AC自动机
  18. mysql 启动失败 详情_mysql启动失败一例
  19. ubuntu中无法安装vim
  20. 技术交流微信群欢迎小伙伴前来交流

热门文章

  1. OGC入门学习专栏(2.1) - SWE通用数据模型编码标准(写完所有小节再合)
  2. Android APK加固(加壳)工具
  3. Linux——服务器文件备份(一)
  4. C++制作打字小游戏
  5. dvwa中的xss(跨站脚本)攻击
  6. 5G技术全面融入ROS2新一代机器人操作系统大量成果推出(2020整理翻译版)
  7. JavaScript简单随机数去重
  8. STM32 编码器驱动/旋转编码器旋钮encoder
  9. 单个数码管动态显示(STM32F103C8T6)
  10. 御手洗sama 网易宝面试:java程序员(其实我根本不记得我投的是什么了,但是一直问的是java,应该就是java了)...