C&#; Excelファイル読むチュートリアル

This article was translated from English: Does it need improvement?
Translated
View the article in English

によって クリスチャン・フィンドレイ

このチュートリアルでは、C#でExcelファイルを読み取る方法や、データ検証、データベース変換、Web API統合、式の修正などの通常のタスクを実行する方法について説明します。 この記事では、IronXL .NET Excel ライブラリを利用したコード例を参照しています。


概要

IronXLは、C#を使用してMicrosoft Excelドキュメントの読み取りと編集を容易にします。 IronXL は、Microsoft Excel を必要としませんし 相互運用性. 実際に IronXLは、Microsoft.Office.Interop.Excelよりも高速で直感的なAPIを提供します。.

IronXL に含まれるもの:

  • .NETエンジニアによる専用製品サポート
  • Microsoft Visual Studioを介した簡単なインストール

  • 開発用の無料試用テスト。 $599のライセンス。

    C#およびVB.NETでExcelファイルを読み書きすることは、IronXLソフトウェアライブラリを使用することにより容易になります。

IronXLを使用して.XLSおよび.XLSX Excelファイルを読み取る

以下は、IronXLを使用してExcelファイルを読み取るための全体的なワークフローの概要です:

  1. IronXL Excelライブラリをインストールします。 次の方法でこれを行うことができます NuGetパッケージ またはダウンロードして .Net Excel DLL(エクセル DLL).

  2. WorkBook.Load メソッドを使用して、XLS、XLSX、またはCSVドキュメントを読み込むことができます。

  3. 直感的な構文を使用してセル値を取得する: `sheet [「A11」].DecimalValue
:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-1.cs
using IronXL;
using System;
using System.Linq;

// Supported spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
WorkBook workBook = WorkBook.Load("test.xlsx");
WorkSheet workSheet = workBook.WorkSheets.First();

// Select cells easily in Excel notation and return the calculated value
int cellValue = workSheet["A2"].IntValue;

// Read from Ranges of cells elegantly.
foreach (var cell in workSheet["A2:A10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}

// Advanced Operations
// Calculate aggregate values such as Min, Max and Sum
decimal sum = workSheet["A2:A10"].Sum();

// Linq compatible
decimal max = workSheet["A2:A10"].Max(c => c.DecimalValue);
Imports IronXL
Imports System
Imports System.Linq

' Supported spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
Private workBook As WorkBook = WorkBook.Load("test.xlsx")
Private workSheet As WorkSheet = workBook.WorkSheets.First()

' Select cells easily in Excel notation and return the calculated value
Private cellValue As Integer = workSheet("A2").IntValue

' Read from Ranges of cells elegantly.
For Each cell In workSheet("A2:A10")
	Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell

' Advanced Operations
' Calculate aggregate values such as Min, Max and Sum
Dim sum As Decimal = workSheet("A2:A10").Sum()

' Linq compatible
Dim max As Decimal = workSheet("A2:A10").Max(Function(c) c.DecimalValue)
VB   C#

このチュートリアルの次のセクションで使用されているコード例 (サンプルプロジェクトコードと共に) 3つのサンプルExcelスプレッドシートで作業します。 (視覚的な説明は以下をご覧ください。

):


チュートリアル

1. IronXL C#ライブラリを無料でダウンロード

Excel 用 C# NuGet ライブラリ

でインストール NuGet

Install-Package IronXL.Excel
または
Java PDF JAR(ジャバPDF JAR)

ダウンロード DLL (ディーエルエル)

DLLをダウンロード

プロジェクトに手動でインストールする

Excel 用 C# NuGet ライブラリ

でインストール NuGet

Install-Package IronXL.Excel
または
Java PDF JAR(ジャバPDF JAR)

ダウンロード DLL (ディーエルエル)

DLLをダウンロード

プロジェクトに手動でインストールする

今日からプロジェクトでIronPDFを使い始めましょう。無料のトライアルをお試しください。

最初のステップ:
green arrow pointer

チェックアウト IronXL オン Nuget 迅速なインストールと展開のために。8百万以上のダウンロード数により、ExcelをC#で変革しています。

Excel 用 C# NuGet ライブラリ nuget.org/packages/IronXL.Excel/
Install-Package IronXL.Excel

インストールを検討してください IronXL DLL 直接。ダウンロードして、プロジェクトまたはGACの形式で手動でインストールしてください。 IronXL.zip

プロジェクトに手動でインストールする

DLLをダウンロード

まず最初に行うべきことは、IronXL.Excelライブラリをインストールして、.NETフレームワークにExcel機能を追加することです。

以下の内容を日本語に翻訳してください:

IronXL.Excel のインストールは、NuGet パッケージを使用するのが最も簡単な方法ですが、手動でインストールすることも選択できます。 DLL (ディーエルエル) プロジェクトまたはグローバル アセンブリ キャッシュに追加します。

IronXL NuGet パッケージのインストール

  1. Visual Studioで、プロジェクトを右クリックして「NuGetパッケージの管理...」を選択します。

  2. IronXL.Excelパッケージを検索し、インストールボタンをクリックしてプロジェクトに追加してください。

    IronXLライブラリをインストールする別の方法は、NuGetパッケージマネージャーコンソールを使用することです。

  3. パッケージマネージャーコンソールを入力してください

  4. 次のコマンドを入力してください: > Install-Package IronXL.Excel
  PM > Install-Package IronXL.Excel

さらに、 NuGetサイトでパッケージを表示

手動インストール

あるいは、IronXLをダウンロードして開始することもできます。 .NET エクセル DLL Visual Studio に手動でインストールする。

2. Excel ワークブックを読み込む

について WorkBook クラスはExcelシートを表します。 Excel ファイルを C# で開くには、ファイルのパスを指定して WorkBook.Load メソッドを使用します。

:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-2.cs
WorkBook workBook = WorkBook.Load(@"Spreadsheets\\GDP.xlsx");
Dim workBook As WorkBook = WorkBook.Load("Spreadsheets\\GDP.xlsx")
VB   C#

サンプル: ExcelToDBProcessor

WorkBook は複数の ワークシート オブジェクト。 それぞれは、Excelドキュメント内の単一のExcelワークシートを表します。 次のものを使用 WorkBook.GetWorkSheet(ワークブック.ゲットワークシート) 特定のExcelワークシートへの参照を取得するメソッド。

JavaScript

const IronPDF = require('iron-pdf');

async function htmlToPdf(htmlContent) {
    // Create a new PdfDocument
    const pdf = await IronPDF.PdfDocument.fromHtml(htmlContent);

    // Save the PDF to a file
    await pdf.saveAs('output.pdf');
}

const sampleHtmlContent = "<html><body><h1>Hello, IronPDF!</h1></body></html>";
htmlToPdf(sampleHtmlContent);

```プログラミング言語 const IronPDF = require('iron-pdf');

async function htmlToPdf(htmlContent) { // 新しいPdfDocumentを作成 const pdf = await IronPDF.PdfDocument.fromHtml(htmlContent);

// PDFをファイルに保存
await pdf.saveAs('output.pdf');

}

const sampleHtmlContent = "

Hello, IronPDF!

"; htmlToPdf(sampleHtmlContent);


:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-3.cs
もちろんです!翻訳したいコンテンツを提供してください。それに従って正確な日本語訳を提供いたします。

サンプル: *ExcelToDB*

### 新しいExcelドキュメントの作成

新しいExcelドキュメントを作成するには、有効なファイルタイプを指定して新しい `WorkBook` オブジェクトを構築します。

```cs
:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-4.cs

サンプル:ApiToExcelProcessor

注意: 古いバージョンのMicrosoft Excelをサポートするために ExcelFileFormat.XLS を使用してください。 (95およびそれ以前).

Excelドキュメントにワークシートを追加

前述のとおり、IronXLのWorkBookは1つ以上のWorkSheetのコレクションを含みます。

これは、Excelで2つのワークシートがある1つのワークブックの見た目です。

これは、Excelで2つのワークシートがある1つのワークブックの見た目です。

新しい WorkSheet を作成するには、ワークシートの名前を指定して WorkBook.CreateWorkSheet を呼び出します。

:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-5.cs
WorkSheet workSheet = workBook.GetWorkSheet("GDPByCountry");
Dim workSheet As WorkSheet = workBook.GetWorkSheet("GDPByCountry")
VB   C#

セル値へのアクセス

単一のセルを読み取りおよび編集

各スプレッドシートセルの値へのアクセスは、必要なセルをその WorkSheet から取得することによって行われます。 以下に示すように:

:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-16.cs
WorkBook workBook = WorkBook.Load("test.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
IronXL.Cell cell = workSheet["B1"].First();
Dim workBook As WorkBook = WorkBook.Load("test.xlsx")
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet
Dim cell As IronXL.Cell = workSheet("B1").First()
VB   C#

IronXLの セル クラスは、Excelスプレッドシート内の個々のセルを表します。 それには、ユーザーがセルの値に直接アクセスし、修正することを可能にするプロパティとメソッドが含まれています。

WorkSheet オブジェクトは、Excel ワークシート内のすべてのセルの値に対応する Cell オブジェクトのインデックスを管理します。 上記のソースコードでは、行と列のインデックスで目的のセルを参照します。 (この場合、セルB1) 標準の配列インデックス構文を使用して。

セルオブジェクトへの参照を使うと、スプレッドシートのセルにデータを読み書きすることができます。

:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-17.cs
IronXL.Cell cell = workSheet["B1"].First();
string value = cell.StringValue;   // Read the value of the cell as a string
Console.WriteLine(value);

cell.Value = "10.3289";           // Write a new value to the cell
Console.WriteLine(cell.StringValue);
Dim cell As IronXL.Cell = workSheet("B1").First()
Dim value As String = cell.StringValue ' Read the value of the cell as a string
Console.WriteLine(value)

cell.Value = "10.3289" ' Write a new value to the cell
Console.WriteLine(cell.StringValue)
VB   C#

セルの範囲の値を読み書きする

Range クラスは、Cell オブジェクトの二次元コレクションを表します。」 このコレクションは、Excelセルのリテラル範囲を指します。 WorkSheetオブジェクトの文字列インデクサーを使用して範囲を取得します。

引数のテキストは、セルの座標です。 (例えば、「A1」、前に示したように) 左から右へ、上から下へのセル範囲 (例: "B2:E5"). また、WorkSheet に対して GetRange を呼び出すことも可能です。

:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-6.cs
Range range = workSheet["D2:D101"];
Dim range As Range = workSheet("D2:D101")
VB   C#

サンプル: DataValidation

範囲内のセルの値を読み取ったり編集したりするには、いくつかの方法があります。 カウントがわかっている場合は、For ループを使用してください。

:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-7.cs
// Iterate through the rows
for (var y = 2; y <= 101; y++)
{
    var result = new PersonValidationResult { Row = y };
    results.Add(result);

    // Get all cells for the person
    var cells = workSheet[$"A{y}:E{y}"].ToList();

    // Validate the phone number (1 = B)
    var phoneNumber = cells[1].Value;
    result.PhoneNumberErrorMessage = ValidatePhoneNumber(phoneNumberUtil, (string)phoneNumber);

    // Validate the email address (3 = D)
    result.EmailErrorMessage = ValidateEmailAddress((string)cells[3].Value);

    // Get the raw date in the format of Month Day[suffix], Year (4 = E)
    var rawDate = (string)cells[4].Value;
    result.DateErrorMessage = ValidateDate(rawDate);
}
' Iterate through the rows
For y = 2 To 101
	Dim result = New PersonValidationResult With {.Row = y}
	results.Add(result)

	' Get all cells for the person
	Dim cells = workSheet($"A{y}:E{y}").ToList()

	' Validate the phone number (1 = B)
	Dim phoneNumber = cells(1).Value
	result.PhoneNumberErrorMessage = ValidatePhoneNumber(phoneNumberUtil, CStr(phoneNumber))

	' Validate the email address (3 = D)
	result.EmailErrorMessage = ValidateEmailAddress(CStr(cells(3).Value))

	' Get the raw date in the format of Month Day[suffix], Year (4 = E)
	Dim rawDate = CStr(cells(4).Value)
	result.DateErrorMessage = ValidateDate(rawDate)
Next y
VB   C#

サンプル: DataValidation

スプレッドシートに数式を追加する

Cellの数式を設定する方法 数式 プロパティ。

以下のコードは各州を繰り返し処理し、列Cにパーセンテージの合計を入力します。

:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-13.cs
// Iterate through all rows with a value
for (var y = 2 ; y < i ; y++)
{
    // Get the C cell
    Cell cell = workSheet[$"C{y}"].First();

    // Set the formula for the Percentage of Total column
    cell.Formula = $"=B{y}/B{i}";
}
' Iterate through all rows with a value
Dim y = 2
Do While y < i
	' Get the C cell
	Dim cell As Cell = workSheet($"C{y}").First()

	' Set the formula for the Percentage of Total column
	cell.Formula = $"=B{y}/B{i}"
	y += 1
Loop
VB   C#

サンプル: AddFormulaeProcessor

スプレッドシートデータの検証

IronXLを使用してデータシートを検証します。 DataValidationサンプルは、電話番号を検証するためにlibphonenumber-csharpを使用し、標準のC# APIを使用してメールアドレスと日付を検証します。

:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-8.cs
// Iterate through the rows
for (var i = 2; i <= 101; i++)
{
    var result = new PersonValidationResult { Row = i };
    results.Add(result);

    // Get all cells for the person
    var cells = worksheet[$"A{i}:E{i}"].ToList();

    // Validate the phone number (1 = B)
    var phoneNumber = cells[1].Value;
    result.PhoneNumberErrorMessage = ValidatePhoneNumber(phoneNumberUtil, (string)phoneNumber);

    // Validate the email address (3 = D)
    result.EmailErrorMessage = ValidateEmailAddress((string)cells[3].Value);

    // Get the raw date in the format of Month Day[suffix], Year (4 = E)
    var rawDate = (string)cells[4].Value;
    result.DateErrorMessage = ValidateDate(rawDate);
}
' Iterate through the rows
For i = 2 To 101
	Dim result = New PersonValidationResult With {.Row = i}
	results.Add(result)

	' Get all cells for the person
	Dim cells = worksheet($"A{i}:E{i}").ToList()

	' Validate the phone number (1 = B)
	Dim phoneNumber = cells(1).Value
	result.PhoneNumberErrorMessage = ValidatePhoneNumber(phoneNumberUtil, CStr(phoneNumber))

	' Validate the email address (3 = D)
	result.EmailErrorMessage = ValidateEmailAddress(CStr(cells(3).Value))

	' Get the raw date in the format of Month Day[suffix], Year (4 = E)
	Dim rawDate = CStr(cells(4).Value)
	result.DateErrorMessage = ValidateDate(rawDate)
Next i
VB   C#

上記のコードはスプレッドシート内の各行をループし、セルをリストとして取得します。各検証メソッドはセルの値をチェックし、その値が無効であればエラーメッセージを返します。

このコードは新しいシートを作成し、ヘッダーを指定し、不正データのログが取れるようにエラーメッセージの結果を出力します。

:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-9.cs
var resultsSheet = workBook.CreateWorkSheet("Results");
resultsSheet["A1"].Value = "Row";
resultsSheet["B1"].Value = "Valid";
resultsSheet["C1"].Value = "Phone Error";
resultsSheet["D1"].Value = "Email Error";
resultsSheet["E1"].Value = "Date Error";
for (var i = 0; i < results.Count; i++)
{
    var result = results[i];
    resultsSheet[$"A{i + 2}"].Value = result.Row;
    resultsSheet[$"B{i + 2}"].Value = result.IsValid ? "Yes" : "No";
    resultsSheet[$"C{i + 2}"].Value = result.PhoneNumberErrorMessage;
    resultsSheet[$"D{i + 2}"].Value = result.EmailErrorMessage;
    resultsSheet[$"E{i + 2}"].Value = result.DateErrorMessage;
}
workBook.SaveAs(@"Spreadsheets\\PeopleValidated.xlsx");
Dim resultsSheet = workBook.CreateWorkSheet("Results")
resultsSheet("A1").Value = "Row"
resultsSheet("B1").Value = "Valid"
resultsSheet("C1").Value = "Phone Error"
resultsSheet("D1").Value = "Email Error"
resultsSheet("E1").Value = "Date Error"
For i = 0 To results.Count - 1
	Dim result = results(i)
	resultsSheet($"A{i + 2}").Value = result.Row
	resultsSheet($"B{i + 2}").Value = If(result.IsValid, "Yes", "No")
	resultsSheet($"C{i + 2}").Value = result.PhoneNumberErrorMessage
	resultsSheet($"D{i + 2}").Value = result.EmailErrorMessage
	resultsSheet($"E{i + 2}").Value = result.DateErrorMessage
Next i
workBook.SaveAs("Spreadsheets\\PeopleValidated.xlsx")
VB   C#

エンティティフレームワークを使用してデータをエクスポートする

IronXLを使用して、データをデータベースにエクスポートしたり、Excelスプレッドシートをデータベースに変換したりできます。 ExcelToDB サンプルは、各国のGDPが記載されたスプレッドシートを読み取り、そのデータをSQLiteにエクスポートします。

それは EntityFrameworkを使用してデータベースを構築し、データを一行ずつエクスポートします。

SQLite エンティティ フレームワーク NuGet パッケージを追加します。

EntityFrameworkを使用すると、データベースにデータをエクスポートできるモデルオブジェクトの作成が可能です。

:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-10.cs
public class Country
    {
        [Key]
        public Guid Key { get; set; }
        public string Name { get; set; }
        public decimal GDP { get; set; }
    }
Public Class Country
		<Key>
		Public Property Key() As Guid
		Public Property Name() As String
		Public Property GDP() As Decimal
End Class
VB   C#

別のデータベースを使用するには、対応するNuGetパッケージをインストールし、UseSqLiteの同等のものを見つけてください。()もちろん、英語のテキストを教えていただけますでしょうか?

:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-11.cs
public class CountryContext : DbContext
    {
        public DbSet<Country> Countries { get; set; }
        public CountryContext()
        {
            //TODO: Make async
            Database.EnsureCreated();
        }
        /// <summary>
        /// Configure context to use Sqlite
        /// </summary>
        /// <param name="optionsBuilder"></param>
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            var connection = new SqliteConnection($"Data Source=Country.db");
            connection.Open();
            var command = connection.CreateCommand();
            //Create the database if it doesn't already exist
            command.CommandText = $"PRAGMA foreign_keys = ON;";
            command.ExecuteNonQuery();
            optionsBuilder.UseSqlite(connection);
            base.OnConfiguring(optionsBuilder);
        }
    }
Public Class CountryContext
	Inherits DbContext

		Public Property Countries() As DbSet(Of Country)
		Public Sub New()
			'TODO: Make async
			Database.EnsureCreated()
		End Sub
		''' <summary>
		''' Configure context to use Sqlite
		''' </summary>
		''' <param name="optionsBuilder"></param>
		Protected Overrides Sub OnConfiguring(ByVal optionsBuilder As DbContextOptionsBuilder)
			Dim connection = New SqliteConnection($"Data Source=Country.db")
			connection.Open()
			Dim command = connection.CreateCommand()
			'Create the database if it doesn't already exist
			command.CommandText = $"PRAGMA foreign_keys = ON;"
			command.ExecuteNonQuery()
			optionsBuilder.UseSqlite(connection)
			MyBase.OnConfiguring(optionsBuilder)
		End Sub
End Class
VB   C#

CountryContext を作成し、範囲を反復して各レコードを作成し、その後 SaveAsync を使用してデータベースにデータをコミットします

:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-12.cs
public async Task ProcessAsync()
{
    //Get the first worksheet
    var workbook = WorkBook.Load(@"Spreadsheets\\GDP.xlsx");
    var worksheet = workbook.GetWorkSheet("GDPByCountry");
    //Create the database connection
    using (var countryContext = new CountryContext())
    {
        //Iterate through all the cells
        for (var i = 2; i <= 213; i++)
        {
            //Get the range from A-B
            var range = worksheet[$"A{i}:B{i}"].ToList();
            //Create a Country entity to be saved to the database
            var country = new Country
            {
                Name = (string)range[0].Value,
                GDP = (decimal)(double)range[1].Value
            };
            //Add the entity
            await countryContext.Countries.AddAsync(country);
        }
        //Commit changes to the database
        await countryContext.SaveChangesAsync();
    }
}
Public Async Function ProcessAsync() As Task
	'Get the first worksheet
	Dim workbook = WorkBook.Load("Spreadsheets\\GDP.xlsx")
	Dim worksheet = workbook.GetWorkSheet("GDPByCountry")
	'Create the database connection
	Using countryContext As New CountryContext()
		'Iterate through all the cells
		For i = 2 To 213
			'Get the range from A-B
			Dim range = worksheet($"A{i}:B{i}").ToList()
			'Create a Country entity to be saved to the database
			Dim country As New Country With {
				.Name = CStr(range(0).Value),
				.GDP = CDec(CDbl(range(1).Value))
			}
			'Add the entity
			Await countryContext.Countries.AddAsync(country)
		Next i
		'Commit changes to the database
		Await countryContext.SaveChangesAsync()
	End Using
End Function
VB   C#

サンプル: ExcelToDB

APIからスプレッドシートへのデータダウンロード

以下の呼び出しによってRESTコールが行われます RestClient.Net. それはJSONをダウンロードして、RestCountry 型の「List」に変換します。 次に、各国を繰り返し処理して、REST APIからのデータをExcelスプレッドシートに保存するのは簡単です。

:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-14.cs
var client = new Client(new Uri("https://restcountries.eu/rest/v2/"));
List<RestCountry> countries = await client.GetAsync<List<RestCountry>>();
Dim client As New Client(New Uri("https://restcountries.eu/rest/v2/"))
Dim countries As List(Of RestCountry) = Await client.GetAsync(Of List(Of RestCountry))()
VB   C#

サンプル: ApiToExcel

APIのJSONデータはこのように表示されます。

次のコードは、各国を順に処理し、スプレッドシートにName(名前)、Population(人口)、Region(地域)、NumericCode(数値コード)、およびTop 3 Languages(トップ3の言語)を設定します。

:path=/static-assets/excel/content-code-examples/tutorials/how-to-read-excel-file-csharp-15.cs
for (var i = 2; i < countries.Count; i++)
{
    var country = countries[i];
    //Set the basic values
    workSheet[$"A{i}"].Value = country.name;
    workSheet[$"B{i}"].Value = country.population;
    workSheet[$"G{i}"].Value = country.region;
    workSheet[$"H{i}"].Value = country.numericCode;
    //Iterate through languages
    for (var x = 0; x < 3; x++)
    {
        if (x > (country.languages.Count - 1)) break;
        var language = country.languages[x];
        //Get the letter for the column
        var columnLetter = GetColumnLetter(4 + x);
        //Set the language name
        workSheet[$"{columnLetter}{i}"].Value = language.name;
    }
}
For i = 2 To countries.Count - 1
	Dim country = countries(i)
	'Set the basic values
	workSheet($"A{i}").Value = country.name
	workSheet($"B{i}").Value = country.population
	workSheet($"G{i}").Value = country.region
	workSheet($"H{i}").Value = country.numericCode
	'Iterate through languages
	For x = 0 To 2
		If x > (country.languages.Count - 1) Then
			Exit For
		End If
		Dim language = country.languages(x)
		'Get the letter for the column
		Dim columnLetter = GetColumnLetter(4 + x)
		'Set the language name
		workSheet($"{columnLetter}{i}").Value = language.name
	Next x
Next i
VB   C#

オブジェクトリファレンスとリソース

以下をご覧ください IronXLクラスドキュメント 高価値のオブジェクトリファレンス内。

また、IronXL.Excelの他の側面に関する他のチュートリアルもあります。 作成, 開く、書き込み、編集、保存、エクスポート Excel Interopを使用せずにXLS、XLSXおよびCSVファイルを処理。

サマリー

IronXL.Excelは、さまざまなスプレッドシート形式を読み取るための唯一の.NETソフトウェアライブラリです。 必要ありません マイクロソフトエクセル インストールされ、Interopに依存しません。

.NETライブラリがExcelファイルの変更に役立っている場合、次のものにも興味があるかもしれません。 Google Sheets API クライアントライブラリ .NET用でGoogleスプレッドシートを修正できるツール。


チュートリアル クイック アクセス

このチュートリアルをC#ソースコードとしてダウンロード

このチュートリアルの完全無料のC# for Excelのソースコードは、ジップファイル形式のVisual Studio 2017プロジェクトファイルとしてダウンロードできます。

ダウンロード

このチュートリアルをGitHubで探索する

このプロジェクトのソースコードはGitHubでC#およびVB.NETで入手可能です。

このコードを使用すると、わずか数分で簡単に始められます。このプロジェクトはMicrosoft Visual Studio 2017プロジェクトとして保存されていますが、どの.NET IDEとも互換性があります。

GitHubでExcelファイルをC#で読む方法

APIリファレンスを表示

IronXLのすべての機能、名前空間、クラス、メソッドフィールド、列挙型の詳細を詳述したAPIリファレンスを探索してください。

APIリファレンスを表示
Microsoft Excel ドキュメント IOを扱う .NET ソリューション ディレクター

クリスチャン・フィンドレイ

ソフトウェア開発チームリード

クリスチャンはヘルス業界向けのソフトウェアを開発しており、チームを率いています。クリスチャンにはさまざまなシステムとの統合経験が豊富です。IronXLのおかげで、クリスチャンは異なるソースからデータをインポートして操作し、反復作業を自動化し、サードパーティーソースからの入力データを検証することができます。