๋ฐ์ํ
๐ 1. EPPlus
์ง์ ํ์ผ ํ์: .xlsx (Excel 2007 ์ด์)
์ฅ์
- ์คํ์์ค์ด๋ฉฐ, ์ฌ์ฉ์ด ๊ฐ๋จํจ
- .NET Core ๋ฐ .NET Framework ๋ชจ๋ ์ง์
- ์ข ์์ฑ์ด ๊ฑฐ์ ์์
๋จ์
- .xls ํ์(Excel 2003 ์ด์ )์ ์ง์ํ์ง ์์
- ์ค์น (NuGet):
Install-Package EPPlus
using OfficeOpenXml;
using (var package = new ExcelPackage(new FileInfo("sample.xlsx")))
{
var worksheet = package.Workbook.Worksheets[0];
var value = worksheet.Cells[1, 1].Text;
Console.WriteLine(value);
}
๐ 2. ClosedXML
์ง์ ํ์ผ ํ์: .xlsx
์ฅ์
- Linq ๋ฐฉ์์ผ๋ก ํธํ๊ฒ ๋ฐ์ดํฐ ์ ๊ทผ ๊ฐ๋ฅ
- Excel ํ ์ด๋ธ/์คํ์ผ ๋ฑ ๊ณ ๊ธ ๊ธฐ๋ฅ ์ง์
๋จ์
- ๋์ฉ๋ ์ฒ๋ฆฌ์ ๋๋ฆด ์ ์์
Install-Package ClosedXML
using ClosedXML.Excel;
using (var workbook = new XLWorkbook("sample.xlsx"))
{
var worksheet = workbook.Worksheet(1);
var value = worksheet.Cell("A1").Value.ToString();
Console.WriteLine(value);
}
๐ 3. NPOI
์ง์ ํ์ผ ํ์: .xls, .xlsx ๋ชจ๋ ์ง์
์ฅ์
- Excel 2003~์ต์ ๋ฒ์ ๊น์ง ํญ๋๊ฒ ์ง์
- Apache POI(Java)์ C# ํฌํ ๋ฒ์
๋จ์
- ๋ฌธ๋ฒ์ด ๋ค์ ๋ณต์กํ ์ ์์
Install-Package NPOI
using NPOI.XSSF.UserModel; // .xlsx
using NPOI.SS.UserModel;
using (var file = new FileStream("sample.xlsx", FileMode.Open, FileAccess.Read))
{
XSSFWorkbook workbook = new XSSFWorkbook(file);
ISheet sheet = workbook.GetSheetAt(0);
var value = sheet.GetRow(0).GetCell(0).ToString();
Console.WriteLine(value);
}
๐ 4. ExcelDataReader
์ฉ๋: ๋น ๋ฅด๊ณ ๊ฐ๋ฒผ์ด Excel ๋ฐ์ดํฐ ์ฝ๊ธฐ ์ ์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
์ง์ ํฌ๋งท: .xls, .xlsx
์ฅ์
- ๋งค์ฐ ๋น ๋ฆ (๋์ฉ๋ ๋ฐ์ดํฐ์ ์ ํฉ)
- DataTable ๋๋ IEnumerable๋ก ๋ณํ ๊ฐ๋ฅ
๋จ์
- ์ฐ๊ธฐ ๊ธฐ๋ฅ์ ์์
Install-Package ExcelDataReader
Install-Package ExcelDataReader.DataSet
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
using (var stream = File.Open("sample.xlsx", FileMode.Open, FileAccess.Read))
{
using (var reader = ExcelReaderFactory.CreateReader(stream))
{
var result = reader.AsDataSet();
var value = result.Tables[0].Rows[0][0].ToString();
Console.WriteLine(value);
}
}
๐ 5.Aspose.Cells for .NET (์์ฉ)
์ ๋ฃ ๋ผ์ด๋ธ๋ฌ๋ฆฌ (ํ์ง๋ง ๊ฐ๋ ฅํ ๊ธฐ๋ฅ ์ ๊ณต)
์ฅ์
- Excel ๊ฑฐ์ ๋ชจ๋ ๊ธฐ๋ฅ ์ง์ (์ฐจํธ, ์์, ํผ๋ฒ ๋ฑ)
- ๋์ฉ๋ ์ฒ๋ฆฌ ๋ฐ ์ฑ๋ฅ ์ต์ ํ ์ ๋์ด ์์
๋จ์
- ๋ผ์ด์ ์ค ๋น์ฉ ๋ฐ์
var workbook = new Aspose.Cells.Workbook("sample.xlsx");
var cellValue = workbook.Worksheets[0].Cells["A1"].StringValue;
Console.WriteLine(cellValue);
๐ 6. Gembox.Spreadsheet
๋ถ๋ถ ๋ฌด๋ฃ / ์์ฉ ํผํฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
์ฅ์
์ฌ์ฉํ๊ธฐ ์ฌ์ฐ๋ฉฐ ๋น ๋ฆ
.xls, .xlsx, .ods, .csv ๋ฑ ๋ค์ํ ํฌ๋งท ์ง์
๋จ์
๋ฌด๋ฃ ๋ฒ์ ์ ํ ์ ์ ํ(๋ฌด๋ฃ๋ ์ต๋ 150ํ)
์ค์น (NuGet)
Install-Package GemBox.Spreadsheet
SpreadsheetInfo.SetLicense("FREE-LIMITED-KEY");
var workbook = ExcelFile.Load("sample.xlsx");
var worksheet = workbook.Worksheets[0];
var value = worksheet.Cells[0, 0].Value;
Console.WriteLine(value);

๋ฐ์ํ
'C#' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C#] ์ฝ๋ฐฑ(CallBack) ํจ์ (0) | 2017.02.03 |
---|---|
[๊ธฐํ] ์ด๋ฏธ์ง๋ฅผ ์์ด์ฝ์ผ๋ก ์ปจ๋ฒํ ! SimplyIcon (0) | 2017.01.05 |
generatePublisherEvidence (0) | 2016.02.15 |