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();

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

 

 

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

注目コンテンツ

新着記事一覧

COMICA CVM-VM20 ショットガンマイク

ファンを作るSNS運用とは

【動画撮影向け】Canon EOS Rにピッタリのマイク『COMICA CVM-VM20 ショットガンマイク』購入レビュー

Youtubeの動画撮影でCanon EOS Rに使えるマイクを知りたい Canon EOS R用の外部マイク『COMICA CVM-VM20 ショットガンマイク』の実使用レビューを知りたい &nbs ...

起業 商工会議所 メリット

社長になる第一歩!開業方法まとめ

起業した経営者が商工会議所に入会するメリット・デメリット

商工会議所ってどんな所なのか知りたい 起業したばかりの経営者が商工会議所に入るメリットを知りたい 商工会議所で人脈って作れるのか知りたい 本記事では、このような悩みを解決します。   &nb ...

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

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

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

excel 半角カタカナ 全角

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

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

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

Excel

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

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


新着記事一覧を見る

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

井川 裕輝

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

-C#

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