删除Excel空列
/// <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, 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["xx"].ColumnName = "xx"; dataTable.Columns["xx"].ColumnName = "xx"; if (ExcelUtility.DataTableToExcel(dataTable, Path.Combine(Path.GetDirectoryName(excelPath), "新建文件夹", Path.GetFileNameWithoutExtension(excelPath) + ".xls"))) { } }