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データを一定の条件や文字が入ってる所で分割出来たら便利ですよね。 データを扱ってる職業だとよく ...

buzztai

ファンを作るSNS運用とは

SNSの投稿を自動で作ってくれるAIサービス『BuzzTai(バズタイ)』が便利すぎた!

SNSの投稿を毎回考えるの大変だなぁ。いっその事AIが自動で作ってくれないかなぁ。。。 今回はそんな悩みを解決するサービスを紹介します。 SNSのアカウントを複数持っているので、毎回投稿作るのが結構大 ...

fliki

ファンを作るSNS運用とは

AIが自動でショート動画を作ってくれるWEBサービス『Fliki』を使ってみた体験談

AIが自動で動画を作ってくれるWEBサービスって無いのかな? 本記事ではこのような悩みを解決します。 AIとかチャットボットが話題になってるいま、「動画もAIが勝手に作ってくれたらいいな」って思います ...

looka 体験談

売れるデザインノウハウ

自動でロゴデザイン作成をしてくれるAIサービス『Looka』がクオリティ高くて便利すぎた!

デザインセンス無くても簡単にクオリティの高いロゴデザインが作れるサービスって無いかな? 本記事では、このような疑問を解決します。 ココナラのようなフリーランスのデザイナーにロゴ依頼が出来るサービスも良 ...

chatGPT ブログ

WEBマーケティングのコツ ブログ運営のヒミツ

chatGPTでブログを作るためのプロンプトを公開!AIをブログ運営で活用するためのコツとは?

chatGPTを使ってブログ作れば自動でブログ運営出来るんじゃない?ラクにブログ運営したいから方法を教えて欲しい! 本記事ではこのような悩みを解決します。 AIが勝手にブログを作ってくれたらラクですよ ...


新着記事一覧を見る

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

井川 裕輝

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

-C#

© 2023 在宅ワーク効率化ブログ『WellMaga』