0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

C#でExcelをCSVに、またはCSVをExcelに変換する

Posted at

ExcelファイルをCSV形式に変換すると、スプレッドシート内のデータがカンマで区切られた純粋なテキスト形式に変換されます。この形式は、ほとんどのテキストエディタやデータ処理ソフトウェアで読むことができ、データ分析やデータ転送をより簡単かつ迅速に行うことができます。CSVファイルは、データ処理に便利なExcel形式にも変換できる。この記事では、Free Spire.XLS for .NET(無料版)ライブラリを使用して、Excel(XLS/ XLSX)とCSV形式の変換を実装する方法を紹介します。

無料のExcelライブラリをインストールする

  • 方法1:NuGet 経由でインストールする
    Visual Studioを開いて新しいプロジェクトを作成します。次に、「Solution Explorer」で「References」を右クリックし、「Nuget Manage Packages」を選択します。FreeSpireXLSを検索し、インストールします。
  • 方法2:手動で Spire.Xls.dll を追加する
    Free Spire.XLS for .NETパッケージをダウンロードします。次に、Visual Studioて新しいプロジェクトを作成し、右側の「Solution Explorer」で「References」を右クリックし、「Add Reference」>「Browse」を選択し、インストールパスの下にあるBINフォルダー内のdllファイルを見つけ、「OK 」をクリックしてプログラムに参照を追加します。

C#でExcelをCSVに変換する

  1. Workbook クラスのインスタンスを作成します。
  2. Workbook.LoadFromFile() メソッドを使用して Excel ファイルをロードします。
  3. Workbook.Worksheets [index] プロパティを使用して、インデックスで特定のワークシートを取得します。
  4. XlsWorksheet.SaveToFile() メソッドを使用して、特定のワークシートをCSVとして保存します。

以下の方法をお選びいただけます。
SaveToFile(string fileName, string separator)
SaveToFile(string fileName, string separator, Encoding encoding)
SaveToFile(string fileName, string separator, bool retainHiddenData)

C#コード:

using Spire.Xls;
using System.Text;

namespace ConvertAWorksheetToCsv
{
    class Program
    {
        static void Main(string[] args)
        {
            //Workbookクラスのインスタンスを作成する
            Workbook workbook = new Workbook();
            //Excelファイルをロードする
            workbook.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.xlsx");
            //最初のワークシートを取得する
            Worksheet sheet = workbook.Worksheets[0];
            //ワークシートをCSVとして保存する
            sheet.SaveToFile("ExcelToCSV.csv", ",", Encoding.UTF8);
        }
    }
}

出力CSVファイル
ExcelToCSV.png

C#でCSVをExcelに変換する

  1. Workbook クラスのインスタンスを作成します。
  2. Workbook.LoadFromFile(string fileName, string separator, int startRow, int startColumn) メソッドを使用して 、CSV ファイルをロードします。
  3. Workbook.Worksheets [index] プロパティを使用して、インデックスで特定のワークシートを取得します。
  4. Worksheet.AllocatedRange プロパティを使用して、ワークシートの使用範囲にアクセスします。
  5. CellRange.IgnoreErrorOptions プロパティを IgnoreErrorType.NumberAsText として設定することで、範囲内の数値をテキストとして保存するときにエラーを無視します。
  6. CellRange.AutoFitColumns()CellRange.AutoFitRows() メソッドを使用して行の高さと列の幅を自動調整します。
  7. Workbook.SaveToFile(string fileName, ExcelVersion version)メソッドを使用して CSV を Excel に保存します。

C#コード:

using Spire.Xls;

namespace ConvertCsvToExcel
{
    class Program
    {
        static void Main(string[] args)
        {
            //Workbookクラスのインスタンスを作成する
            Workbook workbook = new Workbook();

            //CSVファイルをロードする
            workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\ExcelToCSV.csv", ",", 1, 1);

            //最初のワークシートを取得する
            Worksheet sheet = workbook.Worksheets[0];

            //ワークシートの使用範囲にアクセスする
            CellRange usedRange = sheet.AllocatedRange;
            //数値をテキストとして保存するときにエラーを無視する
            usedRange.IgnoreErrorOptions = IgnoreErrorType.NumberAsText;
            //行の高さと列の幅を自動調整する
            usedRange.AutoFitColumns();
            usedRange.AutoFitRows();

            //結果ファイルを保存する
            workbook.SaveToFile("CSVToExcel.xlsx", ExcelVersion.Version2013);
        }
    }
}

CSVファイルから変換されたExcelファイル:
CSVtoExcel.png


この無料ライブラリは、ExcelからPDFExcelからHTMLExcelからTXTといった他のファイル形式への変換もサポートしています。興味のある方は、クリックしてより多くの例を見つけることができます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?