/// <summary>
/// 删除Excel空列
/// </summary>
/// <param name="excelPath">Excel路径</param>
/// <param name="columns">是空行但要保留的列</param>
/// <returns></returns>
public static void DeleteNullColumn(string excelPath)
{
//用的时候就拿到Main方法里去
//DirectoryInfo dirInfo = new DirectoryInfo(@"C:\Users\11572\Desktop\木板年画元数据(依模板 供数据加工使用)"); //foreach (var item in dirInfo.GetFiles())
//{
// DeleteNullColumn(item.FullName);
//} //必须要的列
string[] colums = new string[]{
"aaa","bbb","ccc"
};
DataTable dataTable = ExcelUtility.ExcelToDataTable(excelPath, , true); List<string> removeColumn = new List<string>();
foreach (DataColumn column in dataTable.Columns)
{
int columLenght = ;
foreach (DataRow row in dataTable.Rows)
{
columLenght += row[column.ColumnName].ToString().Length;
if (columLenght > )
{
break;
}
}
if (columLenght == )
{
removeColumn.Add(column.ColumnName);
}
}
foreach (var col in colums)
{
removeColumn.Remove(col);
}
foreach (var col in removeColumn)
{
dataTable.Columns.Remove(col);
} dataTable.Columns["xx"].ColumnName = "xx";
dataTable.Columns["xx"].ColumnName = "xx"; if (ExcelUtility.DataTableToExcel(dataTable, Path.Combine(Path.GetDirectoryName(excelPath), "新建文件夹", Path.GetFileNameWithoutExtension(excelPath) + ".xls")))
{ }
}

删除Excel空列的更多相关文章

  1. 个人永久性免费-Excel催化剂功能第32波-空行空列批量插入和删除

    批量操作永远是效率提升的王道,也是Excel用户们最喜欢能够实现的操作虽说有些批量操作不一定合适Excel的最佳实践操作,但万千世界,无奇不有,特别是在国人眼中领导最大的等级森严的职场环境下.Exce ...

  2. PHP使用PHPExcel删除Excel单元格指定列的方法是怎样

    有一个系统仅公司内部和外部经销商使用,在一个导出功能中公司内部员工跟外部经销商导出的列是不一样的(某些数据是不能提供给经销商的)因为导出的数据都是一样的(某些列外数据外部没有)因此并没有单独处理,而是 ...

  3. EXCEL在改动某几个单元格时隐藏空列

    概述 今天我哥来找我帮他搞下excel表格,本着程序猿对程序无所不能的精神,我爽快的答应了.结果查了半天才搞定.现在记录在此,供自己以后参考,相信对其他人也有用. PS:这几天正在弄博客,马上就要弄完 ...

  4. PHP 使用PHPExcel删除Excel单元格指定列

    需求是这样的: 有一个系统仅公司内部和外部经销商使用,在一个导出功能中公司内部员工跟外部经销商导出的列是不一样的(某些数据是不能提供给经销商的) 因为导出的数据都是一样的(某些列外数据外部没有)因此并 ...

  5. Excel删除空白行和列

    Sub DeleteEmptyRows() Dim LastRow As Long, r As Long LastRow = ActiveSheet.UsedRange.Rows.Count Last ...

  6. poi读取excel的列和删除列

    (各自根据具体的poi版本进行相应的替换即可) package com.br.loan.strategy.common.utils; import lombok.extern.slf4j.Slf4j; ...

  7. 改int非空自增列为int可为空列

    ) --声明读取数据库所有数据表名称游标mycursor1 open mycursor1 --从游标里取出数据赋值到我们刚才声明的数据表名变量中 fetch next from mycursor1 i ...

  8. c#去除DataTable空列

    网上搜了好多,没找到能用的,自己写一个,有发现错误的给我留言. private void RemoveNULLColumns(ref DataTable data)//删除空列 { try { Dat ...

  9. 力扣题目汇总(反转字符串中的单词,EXCEL表列序号,旋置矩阵)

    反转字符串中的单词 III 1.题目描述 给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序. 示例 1: 输入: "Let's take LeetCode ...

随机推荐

  1. 职责链模式ChainOfResponsibility

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11407114.html  1.定义 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合 ...

  2. html 中 获取百度代码

    1.登录百度地图api,地址:http://api.map.baidu.com/lbsapi/creatmap/index.html 2.设置你的地理位置,以北京大学为例子如图:

  3. 【Flutter学习】页面布局之基础布局组件

    一,概述 Flutter中拥有30多种预定义的布局widget,常用的有Container.Padding.Center.Flex.Row.Colum.ListView.GridView.按照< ...

  4. Windows Server服务器之介绍及版本信息

    Windows Server是Microsoft Windows Server System(WSS)的核心,Windows的服务器操作系统.每个Windows Server都与其家用(工作站)版对应 ...

  5. LINUXE下执行php 定时任务

    linux test.php <?php $fn='/home/root.adminssh/boz/logs'; $data=rand(1,9999); $fp=fopen($fn,'wb'); ...

  6. 性能测试基础 ---TCP通信过程的状态码与过程,以及出现错误码的分析(TIME_WAIT,CLOSE_WAIT)

    TCP通信过程 如下图所示,TCP通信过程包括三个步骤:建立TCP连接通道(三次握手).数据传输.断开TCP连接通道(四次挥手). 这里进一步探究TCP三路握手和四次挥手过程中的状态变迁以及数据传输过 ...

  7. rsa加密解密pfx证书转pem文件

    openssl 转化文件命令X509转PFX:openssl pkcs12 -export -inkey test.key -in test.cer -out test.pfxPFX转X509:ope ...

  8. FPGA 报错ERROR:Simulator:861 – Failed to link the design。

    问题综述: 我使用的是windows 10 32位专业版系统,电脑装的是ISE14.4版本,当我用此ISE自带的仿真器ISIM来仿真时,仿真器总是报错ERROR:Simulator:861 – Fai ...

  9. PAT甲级——A1148 WerewolfSimpleVersion【20】

    Werewolf(狼人杀) is a game in which the players are partitioned into two parties: the werewolves and th ...

  10. PAT甲级——A1145 HashingAverageSearchTime【25】

    The task of this problem is simple: insert a sequence of distinct positive integers into a hash tabl ...