首页 > 其他 > 详细

删除Excel空列

时间:2019-08-01 15:10:16      阅读:106      评论:0      收藏:0      [点我收藏+]

 

 /// <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[]{
                "主题词","著录号","唯一标识符","标准编号","题名","其他题名信息","主要责任者","其他责任者","出版日期","出版者",
                "出版地","印刷日期","时间","语种","相关资源附注","丛编","提要","册数","数量","字数(千字)","版次","印次","开本信息","装订形式","版式","定价","总序","分类","重名的书"
            };
            DataTable dataTable = ExcelUtility.ExcelToDataTable(excelPath, 0, true);

            List<string> removeColumn = new List<string>();
            foreach (DataColumn column in dataTable.Columns)
            {
                int columLenght = 0;
                foreach (DataRow row in dataTable.Rows)
                {
                    columLenght += row[column.ColumnName].ToString().Length;
                    if (columLenght > 0)
                    {
                        break;
                    }
                }
                if (columLenght == 0)
                {
                    removeColumn.Add(column.ColumnName);
                }
            }
            foreach (var col in colums)
            {
                removeColumn.Remove(col);
            }
            foreach (var col in removeColumn)
            {
                dataTable.Columns.Remove(col);
            }

            dataTable.Columns["题名"].ColumnName = "題名";
            dataTable.Columns["字数(千字)"].ColumnName = "字数千字";

            if (ExcelUtility.DataTableToExcel(dataTable, Path.Combine(Path.GetDirectoryName(excelPath), "新建文件夹", Path.GetFileNameWithoutExtension(excelPath) + ".xls")))
            {

            }
        }

 

删除Excel空列

原文:https://www.cnblogs.com/mi21/p/11282544.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!