C# で Excel を読み取る 3 つの方法と比較分析
(1) OleDB 方式
利点: Excel を直接データ ソースとして扱い、SQL を通じてコンテンツを直接読み取り、読み取り速度が速くなります。
短所: データの読み取り方法は柔軟性が低く、特定のセルを直接読み取ることができません。シート ページ全体を読み取った後でのみ (結果はデータテーブルになります)、行数とデータテーブルに基づいて指定された値を取得できます。列。
Excelデータの量が多い場合。大量のメモリを占有するため、メモリが不足するとメモリ オーバーフロー例外がスローされます。
読み取りコードは次のとおりです:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
|
以下は、接続文字列
HDR=Yes について説明します。これは、最初の行がタイトルであり、データとして使用されないことを意味します (ただし、私の実際の使用では、最初の行に複雑な値がある場合、読み取られたデータテーブルの列タイトルは自動的に F1、F2 などに設定されますが、これは実際のアプリケーションと矛盾します。したがって、すべての内容がデータテーブルに読み込まれます。 HDR=いいえ、最初の列がデータテーブルに手動で追加されました。 IMEX (IMport EXport モード) 設定
IMEX には 3 つのモードがあります:
0 はエクスポート モード
1 はインポート モード
2はリンク モード (完全な更新機能) です。
ここで説明したいのは、IMEX パラメーターです。異なるモードは異なる読み取り動作と書き込み動作を表すためです。
IMEX=0 の場合、このモードで開かれた Excel ファイルは「エクスポート モード」になります。 「書き込み」の目的にのみ使用してください。
IMEX=1の場合は「インポートモード」です。このモードで開いたExcelファイルは「読み込み」のみに使用できます。
IMEX=2の場合は「リンクモード」となります。このモードで開いたExcelファイルは「読み取り」と「書き込み」の両方の目的に対応できます。
---------------------------------
また、Excel2007 バージョンのファイルを読み取ると、バージョンは 8.0 から 12.0 に変更されます。同時に、ドライバーは Jet を使用できなくなり、ACE を使用する必要があります。 「インストール可能な ISAM が見つかりません」エラーの原因。
---------------------------------
ネットで調べたら、シートの取り出しもあることを知りました。この方法では、実際の Excel テーブルにあるシート テーブルの数より多くのテーブルが存在します:
1. 抽出された名前には、XL ネーミング マネージャーの名前が含まれています (XL2007 - ネーミング マネージャーのショートカット キーを参照)。 Crtl+F3);
2. 抽出された名前には、フィルター範囲を記録するために XL によって使用される FilterDatabase サフィックスが含まれます。
最初のポイントは比較的単純で、既存の名前付けマネージャーのコンテンツを削除するだけです。2 番目のポイントは、フィルターが削除された後も保持されるので、より面倒です。簡単な方法は、新しいシートを追加することです。そして元のシートをコピーして入力します。しかし、実際にはすべての Excel に対して上記のチェックを行うことはできません。フィルタリングスキームを以下に示します。 (この問題は確認済みですので、ご自身でご確認ください)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
読み出された SheetName が無効であり、一般に最後の文字が $ にならないためです。 SheetName に特殊な記号が含まれている場合、読み取られた SheetName は一重引用符で自動的に追加されます。たとえば、Excel で SheetName を MySheet(1) に編集すると、読み取られる SheetName は 'MySheet(1)$' となるため、最後の文字が $ であるかどうかを判断する前に一重引用符をフィルタリングすることをお勧めします。
---------------------------------
(2) Com コンポーネントの方法 (Microsoft.Office を追加することによって) Interop.Excel リファレンス実装)
利点: Excel のデータを非常に柔軟に読み取ることができ、ユーザーは処理のためにさまざまな関数を柔軟に呼び出すことができます。
欠点: セルベースの処理は読み取り速度が遅いので、この方法で大量のデータを含むファイルを読み込まないことをお勧めします。
Web サイトが IIS に展開されている場合は、対応する DLL 参照を追加する必要があります。場合によっては、IIS のアクセス許可も設定する必要があります。 。
読み取りコードは次のとおりです:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 |
|
(3) Excelを読み取るNPOIメソッド(このメソッドはテストされていません)
NPOIはPOIプロジェクトの.NETバージョンです。 POI は、Excel や WORD などの Microsoft OLE2 コンポーネント ドキュメントを読み書きするためのオープン ソース Java プロジェクトです。 NPOI を使用すると、Office がインストールされていないマシンや対応する環境でも、WORD/EXCEL ドキュメントの読み取りと書き込みが可能になります。
利点: Excel の読み取りが速く、読み取り方法が柔軟です。
欠点: 対応するプラグインをダウンロードしてシステム参照に追加する必要があります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
|
C# で Excel を読み取る 3 つの方法と比較分析に関するその他の記事については、PHP 中国語 Web サイトに注目してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











C#は、Microsoftによって開発された最新のオブジェクト指向プログラミング言語であり、.NETフレームワークの一部として開発されています。 1.C#は、カプセル化、継承、多型を含むオブジェクト指向プログラミング(OOP)をサポートしています。 2。C#の非同期プログラミングは非同期を通じて実装され、適用応答性を向上させるためにキーワードを待ちます。 3. LINQを使用してデータ収集を簡潔に処理します。 4.一般的なエラーには、null参照の例外と、範囲外の例外インデックスが含まれます。デバッグスキルには、デバッガーと例外処理の使用が含まれます。 5.パフォーマンスの最適化には、StringBuilderの使用と、不必要な梱包とボクシングの回避が含まれます。

C#.NETアプリケーションのテスト戦略には、ユニットテスト、統合テスト、エンドツーエンドテストが含まれます。 1.単位テストにより、コードの最小ユニットがMSTEST、ヌニット、またはXUNITフレームワークを使用して独立して動作することを保証します。 2。統合テストでは、一般的に使用されるシミュレートされたデータと外部サービスを組み合わせた複数のユニットの機能を検証します。 3.エンドツーエンドのテストでは、ユーザーの完全な操作プロセスをシミュレートし、通常、セレンは自動テストに使用されます。

C#.NETは、複数のアプリケーション開発をサポートする強力なツールとライブラリを提供するため、依然として重要です。 1)C#は.NETフレームワークを組み合わせて、開発を効率的かつ便利にします。 2)C#のタイプの安全性とゴミ収集メカニズムは、その利点を高めます。 3).NETは、クロスプラットフォームの実行環境とリッチAPIを提供し、開発の柔軟性を向上させます。

c#.netisversatileforbothwebanddesktopdevelopment.1)forweb、useasp.netfordynamicapplications.2)fordesktop、equindowsorwpfforrichinterfaces.3)usexamarinforcross-platformdeveliment、enabling deshacrosswindows、

c#.netissuitableforenterprise-levelApplicationsとsystemduetoitsSystemdutyping、richlibraries、androbustperformance.

.NETでのC#のプログラミングプロセスには、次の手順が含まれます。1)C#コードの作成、2)中間言語(IL)にコンパイルし、3).NETランタイム(CLR)によって実行される。 .NETのC#の利点は、デスクトップアプリケーションからWebサービスまでのさまざまな開発シナリオに適した、最新の構文、強力なタイプシステム、および.NETフレームワークとの緊密な統合です。

C#は、エンタープライズレベルのアプリケーション、ゲーム開発、モバイルアプリケーション、Web開発で広く使用されています。 1)エンタープライズレベルのアプリケーションでは、C#がasp.netcoreにWebAPIを開発するためによく使用されます。 2)ゲーム開発では、C#がUnityエンジンと組み合わされて、ロールコントロールやその他の機能を実現します。 3)C#は、コードの柔軟性とアプリケーションのパフォーマンスを改善するために、多型と非同期プログラミングをサポートします。

C#と.NETは、継続的な更新と最適化を通じて、新しいテクノロジーのニーズに適応します。 1)C#9.0および.NET5は、レコードタイプとパフォーマンスの最適化を導入します。 2).Netcoreは、クラウドネイティブおよびコンテナ化されたサポートを強化します。 3)ASP.Netcoreは、最新のWebテクノロジーと統合されています。 4)ML.NETは、機械学習と人工知能をサポートしています。 5)非同期プログラミングとベストプラクティスはパフォーマンスを改善します。
