我有一個包含多行和多列的Excel表,我在.NET應用程序的數據集中獲取它(使用C#)。當我通過簡單的SELECT查詢看到返回的數據集時,Excel工作表具有我想要的所需列,並且它們之間還有一些空白列,默認情況下它們的名稱分別爲F1,F2,F3等。我想要做的是刪除這些列,只獲得我想要的所需列。 在此先感謝。如何排除Excel數據集中沒有數據的默認命名列
0
A
回答
2
與數據表和數據視圖試試:
DataTable oldTable = dataSet.Tables[0];
DataTable newTable = oldTable.DefaultView.ToTable(false, "Only columns you want", "Only columns you want");
與所有列名的動態,你可以試試這個:
for (int col = dataTable.Columns.Count - 1; col >= 0; col--)
{
bool removeColumn = true;
foreach (DataRow row in dataTable.Rows)
{
if (!row.IsNull(col))
{
removeColumn = false;
break;
}
}
if (removeColumn)
dataTable.Columns.RemoveAt(col);
}
或更短的LinQ版本:
for (var col = dataTable.Columns.Count - 1; col >= 0; col--)
{
bool removeColumn = dataTable.Rows.Cast<DataRow>().All(row => row.IsNull(col));
if (removeColumn)
dataTable.Columns.RemoveAt(col);
}
0
@Yeronimo
您的動態列的回答是工作的罰款......非常感謝你先生......
和一些相關的文章可能有助於
Check if rows in an excel sheet are empty with asp.net
+0
這些文章對我有很大的幫助......謝謝......先生。 –
相關問題
- 1. 命名參數沒有默認值?
- 2. 如何對Scala中有多列的數據集進行排名?
- 3. 如何在Mondrian上使用默認命名集創建多維數據集
- 4. 如何排名從子陣列中的數據沒有VBA
- 5. 集數據驗證默認
- 6. 如何獲取Django中所有視圖的默認數據集?
- 7. 沒有默認數據的PHP會話
- 8. 如何從默認導軌中檢索數據:數據散列?
- 9. DataGrid中沒有數據時顯示默認類名
- 10. 如何命名SQLite數據庫,使其不具有默認名稱main?
- 11. PropertyEditor沒有通過默認數據
- 12. .NET C#數據集中WriteXML包含/排除列和添加命名空間
- 13. 如何高效重命名數據集中的列(Spark 2.0)
- 14. 數據庫默認列
- 15. 核心數據中的默認數據
- 16. 使用列表重命名數據集
- 17. 刪除Casper數據集中的默認訂單
- 18. 數據編織器中的默認命名空間聲明
- 19. 重命名數據框中所有列的子集
- 20. 如何排序數據表中的數據沒有
- 21. 如何使一個沒有默認字段的sqlite3數據庫?
- 22. 選擇具有默認數據的列名稱
- 23. R重命名數據集
- 24. 如何在沒有命中數據庫
- 25. 數據集的排名子集
- 26. 如何從沒有linq的數據集中獲取數據?
- 27. 數據集行中的排名值
- 28. 更改jQuery數據表中排序列的默認類?
- 29. 如何修改具有默認值的列的數據類型
- 30. VBA - 排列excel中的數據值
我不能直接寫列名,因爲我必須在後面的代碼中動態處理它們。 –
然後試試這個:http://stackoverflow.com/questions/1766902/remove-all-columns-with-no-data-from-datatable – Yeronimo
它很接近,但無法正確地解決我所嘗試的列名不是null,但默認有一些值,例如。僱員編號,僱員名稱,F1,F2,工資,F4,加號我需要刪除F1,F2和F4。每次我上傳一個新的excel文件時,這些列都是動態的。 –