- Microsoft Office Interopを使用する方法: この方法では、Microsoft Office Interopを使用してExcelファイルを開き、データをCSV形式に変換します。ただし、この方法ではMicrosoft Officeがインストールされている必要があります。
using Excel = Microsoft.Office.Interop.Excel;
using System.IO;
public static void ExcelToCsv(string excelFilePath, string csvFilePath)
{
Excel.Application excel = new Excel.Application();
Excel.Workbook workbook = excel.Workbooks.Open(excelFilePath);
Excel.Worksheet worksheet = workbook.Sheets[1];
worksheet.SaveAs(csvFilePath, Excel.XlFileFormat.xlCSV);
workbook.Close();
excel.Quit();
}
- EPPlusライブラリを使用する方法: EPPlusは、Excelファイルを操作するためのオープンソースのライブラリです。このライブラリを使用すると、Officeのインストールは必要ありません。
EPPlusはNuGetパッケージとして提供されているため、まずVisual Studioのパッケージマネージャーコンソールで以下のコマンドを実行してEPPlusをインストールします。
Install-Package EPPlus
以下はEPPlusを使用してExcelをCSVに変換するコード例です。
using OfficeOpenXml;
using System.IO;
public static void ExcelToCsv(string excelFilePath, string csvFilePath)
{
using (ExcelPackage package = new ExcelPackage(new FileInfo(excelFilePath)))
{
ExcelWorksheet worksheet = package.Workbook.Worksheets[1];
StringBuilder sb = new StringBuilder();
int rowCount = worksheet.Dimension.Rows;
int colCount = worksheet.Dimension.Columns;
for (int row = 1; row <= rowCount; row++)
{
for (int col = 1; col <= colCount; col++)
{
sb.Append(worksheet.Cells[row, col].Value?.ToString() + ",");
}
sb.AppendLine();
}
File.WriteAllText(csvFilePath, sb.ToString());
}
}
これらの方法を使用すると、C#でExcelファイルをCSVファイルに変換することができます。どちらの方法も実行する前に必要なパッケージをインストールする必要があります。また、ファイルパスやシート番号など、必要に応じてコードをカスタマイズしてください。