0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

C#でExcelの重複行を削除する

Posted at

さまざまなソースからExcelデータをインポートする場合、行が複製される場合があります。データの精度を確保するには、これらの複製の行を削除する必要があることがよくあります。

それらを手動で見つけて削除するのは非常に時間がかかりますが、プログラミングスクリプトを実装して短期間で大量のデータを処理できます。この記事では、C#を使用してExcelの重複行をすばやく見つけて削除するための無料のソリューションを提供します。

無料.NET Excelライブラリ

まず、Free Spire.XLS for .NETライブラリをインストールする必要があります。 Nugetを介して直接インストールできます。または、以下のリンクからダウンロードして、手動でインポートすることもできます。

C#でExcelで重複する行を削除する方法

主な手順:

  1. LoadFromFile()メソッドを使用して、Excelファイルをロードします。
  2. 指定されたワークシートを入手し、繰り返し行を見つける必要があるセルエリアを指定します。
  3. LINQクエリを使用して繰り返しを見つけ、これらの行のライン番号をリストに保存します。
  4. このリストを繰り返し、すべての重複した行を削除します。
  5. ファイルを保存します。

サンプルC#コード:

using Spire.Xls;
using System.Linq;
 
namespace RemoveDuplicateRows
{
    class Program
    {
        static void Main(string[] args)
        {
            //加载Excel文件
            Workbook workbook = new Workbook();
            workbook.LoadFromFile("示例.xlsx");
 
            //获取第一张工作表
            Worksheet sheet = workbook.Worksheets[0];
 
            //指定需要删除重复记录的单元格区域
            var range = sheet.Range["A1:A" + sheet.LastRow];
 
            //获取重复项的行号
            var duplicatedRows = range.Rows
                   .GroupBy(x => x.Columns[0].DisplayedText)
                   .Where(x => x.Count() > 1)
                   .SelectMany(x => x.Skip(1))
                   .Select(x => x.Columns[0].Row)
                   .ToList();
 
            //删除重复行     
            for (int i = 0; i < duplicatedRows.Count; i++)
            {
                sheet.DeleteRow(duplicatedRows[i] - i);
            }
 
            //保存Excel文件
            workbook.SaveToFile("删除重复行.xlsx");
        }
    }
}

上記のコードでは、指定されたセル範囲内の重複アイテムがすぐに見つかり、一度に削除されていました。


Free Spire.XLS for .NETは、Microsoft Excelに依存せずにExcelドキュメントを操作するための効率的な方法を提供します。このライブラリは、Excelの読み取り、書き込み、変換、印刷など、さまざまな機能もサポートしています。以下のリンクをクリックして、より多くの例を表示できます。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?