Web備忘録

プログラミングを中心に技術的な事柄を忘れないように書き残します。

[C#][VB] Excelを扱うオープンソースライブラリ(ClosedXML)

Excelファイルを開いたり保存したりしたいけど ... .NET のアプリケーションを開発していると、何かにつけてExcelファイルを取り扱いたい場面に出会います。Excelを扱うのにCOM(Microsoft.Office.Interop.Excel)を使う方法がありますが、取り扱い方法を間違えるとプロセスが残るという問題があります。それを避けるにはかなり込み入ったコードの書き方をしなければなりません。 さらにCOMを使うには動作環境にExcelのインストールが必要に ...

続きを読む ⇒

[C#][VB.NET] DotNetZip を使ってZIP圧縮を行う方法

.NET で ZIPを扱う方法 .NET Framework 4.5以降だと標準ライブラリの ZipFileクラス を利用することで、Zipファイルを簡単に取り扱えます。 別の手段として、オープンソースのライブラリを利用する方法もあります。今回は DotNetZip というライブラリを使ってZIPの圧縮・解凍を行ってみます。 コンソールアプリやデスクトップアプリはもちろん、ASP.NETアプリ(Web)でも同じように扱えます。 ZIP圧縮を行う方法 ...

続きを読む ⇒

[C#][VB] Enumの値をループ(列挙)する方法

Enumの値をすべて列挙したい 稀によくあるのですが、まったく思い出せないのでここにメモしておきます。Enumの値をループしながら扱う方法です。 を使います。 Enum.GetValues() を使います。ここれでは曜日を表す列挙体(DayOfWeek)の値を、文字列と数値の組み合わせで出力しています。 C# // 列挙体の値をすべて表示 foreach (DayOfWeek value in Enum.GetValues(typeof(DayOfWeek)) ...

続きを読む ⇒

[VB] 三項演算子と短絡評価(IF演算子,IIF関数)

三項演算子とは 三項演算子(条件演算子)とは、条件式の結果により異なる式が評価される演算子です。 真偽値式・真の場合に評価する式・偽の場合に評価する式 からなります。IF~THEM~ELSEと同じようですが、文ではなく式を評価します。 VB.NETの三項演算子 VB.NETの三項演算子は IF演算子 と IIF関数 の2つがあります。この2つの違いは 短絡評価(ショートサーキット)を行うかどうかです。VS2008以降で IF演算子 が利用できます。ちなみにC# ...

続きを読む ⇒

[C#][VB] 値の範囲内チェックを行う拡張メソッド

値が範囲内かどうかをチェックしたい 例えばある日付型の値をある期間内にあるかどうかのチェックを行ったり、あるいは数値が一定範囲内かどうかをチェックしたりするメソッドが欲しかったので拡張メソッドで作成してみました。 IComparable 比較できる型の値であれば、数値であれ日付であれこのような範囲チェックを行うことができます。これらの比較ができる型は、IComparable インターフェイスを実装しています。なのでこのインターフェイスを実装している型について拡張 ...

続きを読む ⇒