C#

【C#】ClosedXMLでエクセルファイルを読み込んで操作する方法【使い方】

C#でExcelファイルを操作したいんだけどやり方が分からない。誰か詳しく教えてほしい。

この記事ではC#を使ってエクセルを自動で自由自在に操れる方法を載せています。

 

本記事はこんな方におすすめ

C#でExcelファイルを操作したい人向け

 

この記事を書いたのはこんな人

ネットショップコンサルタント

 

※今回はMicrosoft Visual Studioを使って説明します。

 

 

ClosedXMLのインストール

まずはエクセルを操作するために必要なClosedXMLなる物をNuGetからインストールさせます。

 

Visual Studioのツールから「NuGetパッケージマネージャー」を選択。

「NuGetパッケージマネージャー」の一番上にある「パッケージマネージャーコンソール」をクリックします。

 

 

するとVisual Studioの最下部にパッケージマネージャーコンソールが出てきて「PM>」の後ろ辺りに文字が記入出来るような感じでチカチカしてるんじゃないかな?

ここに「PM>Install-Package ClosedXML」って記入します。

 

んで、Enterをクリックするとパッケージ情報を収集し始めるのでしばし待機!

 

しばらくすると「'ClosedXML 0.93.1' が (ネームスペース名) に正常にインストールされました」って文字が出てきたら成功!

最後に「using ClosedXML.Excel」を追加して完成

 

 

これでエクセルを操作するための下準備が出来ました。

 

既存のExcelファイルの読み込み

次にエクセルファイルを読み込みます。

テンプレートとして下記コードが読み込み時の必須コードになると思います。

 


bookに読み込みたいエクセルファイル

sheetに読み込んだエクセルファイルのsheetを選択(sheet1を選択してます。)

 

Rowに読み込んだsheetの使われているセルの番号を取得

これくらいのデータがあれば後は条件分岐とか繰り返しとか使うと結構なんでも出来ます。

 

新規のExcelファイルを作る

読み込んでばかりじゃいられない!新しく創造したいんだ!って時はこれ

 

XLWorkbook book = new XLWorkbook();
IXLWorksheet sheet = book.AddWorksheet("sample_sheet1");
int row = 1;

 

空のエクセルをbookに入れ、新しく名前を付けたSheetを加え、最後に行移動のためにrowに1を入れておく。

2行で新しいファイル作れるなんて便利なもんだねぇ。

 

Excelファイルの操作

ここまでこれたら次は操作して行くよ!

比較的よく使うであろう関数を独断と偏見によってまとめました。

 

Cell

sheet.Cell(1, 1).Value;

sheet.Cell("A1").Value;

 

これは両方共エクセルのA1のセルの値を取得しています。

 

sheet.Cell(1, 1).Value = "nullpo";

 

とか入れるとエクセルA1のセルに「nullpo」って文字が入ります。

このValueはobjectなので条件分岐なんかで比較する時には

 

if(sheet.Cell(1, 1).Value.ToString() == "nullpo")

 

みたいに文字列に変換しましょう。

セルに色をつける

sheet.Cell(1, 1).Style.Fill.BackgroundColor = XLColor.Red;

 

セルA1のバックグラウンドを赤にする。

XLColorって入れるとその後に色を選択出来るようになるので好きな色を選んでね。

選択出来る色が多すぎて名前だけじゃどんな色か分からないけどねー。

 

ボーダーをつける

sheet.Cell(1, 1).Style.Border.BottomBorder = XLBorderStyleValues.Thick;
sheet.Cell(1, 1).Style.Border.BottomBorderColor = XLColor.Red;

 

 

A1のセルの下側に細いボーダーをつける。

その後にボーダーを赤くする。

って言う処理をしています。

 

名前を付けてExcelファイルを保存

book.saveAs(@"保存先のpath+エクセルファイルの名前");

(例:book.saveAs(@"C:\Users\user\Desktop\sample.xlsx");)

 

ファイル名まで記入するのがミソ。

ここ忘れるとエラーが・・・。

 

Excelファイルを上書き保存

book.save();

で、読み込んだファイルに上書きします。

 

 

お得な特典があるサービス一覧

注目コンテンツ

新着記事一覧

Excel 自分の時間を作るプログラミング技術

エクセルの単価表から新しい単価を抽出して反映させる関数

メーカーから貰った単価表の単価だけを抽出して、既存の単価表に移植させたい! 本記事では、このような悩みを解決します。     メーカーが値上げすると商品全部の値段を見直さないといけ ...

excel 半角カタカナ 全角

Excel 自分の時間を作るプログラミング技術

excelで半角カタカナの文字を全角の文字に変換する方法

半角カタカナが入ってるセルを全角に変換したい! 本記事では、このような悩みを解決します。     excelで半角カタカナの文字を全角の文字に変換する方法 画像のように半角カタカナ ...

Excel

Excelで特定の文字が含まれていたら処理を起こす関数

Excelで特定の文字が含まれていたら処理を起こす関数と使い方を知りたい 本記事では、このような疑問を解決します。     特定の文字が含まれていたら処理を起こす関数【COUNTI ...

Excel 自分の時間を作るプログラミング技術

csvファイルを開いた時にjanコードが文字化けしてる時の対処法

csvファイルが文字化けした時の対処法について知りたい 文字化けした時の対処法で直らない原因を知りたい 本記事では、このような悩みを解決します。     csvファイルが文字化け表 ...

ネットショップノウハウ一覧

倉庫内の作業でおすすめな作業服ランキング

発送作業の業務で使いやすい作業服ってなに?少しでも快適に仕事したいから教えて欲しい 本記事では、『春夏用』『秋冬用』に分けて紹介していきます。     倉庫内の作業って夏は地獄のよ ...


新着記事一覧を見る

  • この記事を書いた人
  • 最新記事

井川 裕輝

元倉庫業からEC総合責任者へ昇進。副業でもやってたEC事業で独立。その後Lステップと言うツールに出会い、岡山県でLステップ構築代行者として活動を始める。

-C#

© 2022 ネットショップ情報メディア『WellMaga』