일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바스크립트
- 머신러닝
- 인공지능
- 소프트웨어
- 컴퓨터공학
- 데이터베이스
- Yes
- 빅데이터
- 데이터분석
- 소프트웨어공학
- 컴퓨터과학
- 2
- 코딩
- 웹개발
- 자료구조
- I'm Sorry
- 사이버보안
- 클라우드컴퓨팅
- 버전관리
- 데이터과학
- 알고리즘
- 네트워크
- 파이썬
- 딥러닝
- 프로그래밍
- 컴퓨터비전
- 보안
- 데이터구조
- 네트워크보안
- 프로그래밍언어
- Today
- Total
스택큐힙리스트
마이크로소프트 오피스를 설치하지 않고 C#에서 Excel(.XLS와 .XLSX) 파일을 생성하는 방법은 무엇인가요? 본문
코드를 실행하는 기계에 Excel이 설치되어 있지 않아도 C#으로 Excel 스프레드시트를 어떻게 생성할 수 있나요?
답변 1
ExcelLibrary라는 라이브러리를 사용할 수 있습니다. Google Code에 게시된 무료 및 오픈 소스 라이브러리입니다.
ExcelLibrary
이것은 위에서 언급한 PHP ExcelWriter의 포트로 보입니다. 아직 새로운 .xlsx 형식으로 작성하지는 않지만, 해당 기능을 추가하는 작업을 하고 있습니다.
이것은 매우 간단하며 작고 사용하기 쉽습니다. 또한 DataSetHelper가 있어 DataSets 및 DataTables를 사용하여 Excel 데이터를 쉽게 처리할 수 있습니다.
ExcelLibrary는 여전히 구식 Excel 형식 (.xls 파일)에서만 작동하는 것 같지만, 미래에는 더 최신인 2007/2010 형식을 지원할 수도 있습니다.
당신은 또한 엑셀 2007/2010 형식 파일 (.xlsx 파일)에만 작동하는 EPPlus을 사용할 수 있습니다. 또한 양쪽에서 작동하는 NPOI도 있습니다.
각 라이브러리에는 댓글에 나와 있듯이 알려져 있는 버그가 몇 가지 있습니다. 모두 가지고 있는 시간에, EPPlus는 계속해서 최선의 선택인 것 같습니다. 업데이트와 문서화가 더 활발하게 이루어지고 있습니다.
또한, 아래의 @АртёмЦари온노프의 언급대로 EPPlus는 피벗 테이블을 지원하며 ExcelLibrary는 일부 지원을 할 수 있습니다 ( Pivot table issue in ExcelLibrary )
여기에 빠른 참고용 링크 몇 개가 있습니다:
번역할 수 없는 문자열입니다.
EPPlus - GNU (LGPL) - No longer maintained
해석할 수 없는 문자열입니다.
NPOI - Apache License
ExcelLibrary에 대한 몇 가지 예제 코드가 여기에 있습니다.
이것은 데이터베이스에서 데이터를 가져 와서 워크북을 만드는 예제입니다. ExcelLibrary 코드는 바닥에 단일 라인임을 유의하십시오.
//Create the data set and table
DataSet ds = new DataSet(New_DataSet);
DataTable dt = new DataTable(New_DataTable);
//Set the locale for each
ds.Locale = System.Threading.Thread.CurrentThread.CurrentCulture;
dt.Locale = System.Threading.Thread.CurrentThread.CurrentCulture;
//Open a DB connection (in this example with OleDB)
OleDbConnection con = new OleDbConnection(dbConnectionString);
con.Open();
//Create a query and fill the data table with the data from the DB
string sql = SELECT Whatever FROM MyDBTable;;
OleDbCommand cmd = new OleDbCommand(sql, con);
OleDbDataAdapter adptr = new OleDbDataAdapter();
adptr.SelectCommand = cmd;
adptr.Fill(dt);
con.Close();
//Add the table to the data set
ds.Tables.Add(dt);
//Here's the easy part. Create the Excel worksheet from the data set
ExcelLibrary.DataSetHelper.CreateWorkbook(MyExcelFile.xls, ds);
엑셀 파일을 만드는 것은 그렇게 어렵지 않습니다. 수동으로 엑셀 파일을 만들 수도 있지만, 위의 기능이 정말 인상적인 것입니다.
답변 2
C#에서 Microsoft Office를 설치하지 않고 Excel (.XLS 및 .XLSX) 파일을 생성하는 방법은 무엇일까요?C#은 마이크로소프트 공식 코딩 언어 중 하나로서, .NET Framework에서 지원됩니다. C#에서 Microsoft Office를 설치하지 않고 Excel (.XLS 및 .XLSX) 파일을 생성하는 방법은 매우 중요합니다. 이 글에서는 이러한 방법에 대해 자세히 설명하겠습니다.
많은 프로젝트에서 Excel 파일 생성이 필요합니다. 그러나 Microsoft Office를 설치하지 않은 경우, Excel 파일을 생성하는 것은 까다로운 일입니다. 이 경우, OpenXML 라이브러리를 사용하여 Excel 파일을 생성할 수 있습니다. OpenXML 라이브러리는 Microsoft에서 개발한 라이브러리로, Office 파일 형식을 쉽게 다룰 수 있도록 도와줍니다.
1. 네임스페이스 추가
OpenXML 라이브러리를 사용하기 위해 사용할 네임스페이스를 추가해야합니다.
using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Spreadsheet;
2. Excel 파일 생성
이제 Excel 파일을 만들어보겠습니다. 다음 코드를 사용하여 Excel 파일을 생성할 수 있습니다.
public static void CreateExcelFile(string directoryPath, string fileName)
{
SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Create(directoryPath + \\ + fileName, SpreadsheetDocumentType.Workbook);
WorkbookPart workbookPart = spreadsheetDocument.AddWorkbookPart();
workbookPart.Workbook = new Workbook();
WorksheetPart worksheetPart = workbookPart.AddNewPart
worksheetPart.Worksheet = new Worksheet();
SheetData sheetData = new SheetData();
worksheetPart.Worksheet.AppendChild(sheetData);
Sheets sheets = spreadsheetDocument.WorkbookPart.Workbook.AppendChild
Sheet sheet = new Sheet() { Id = spreadsheetDocument.WorkbookPart.GetIdOfPart(worksheetPart), SheetId = 1, Name = Sheet1 };
sheets.Append(sheet);
workbookPart.Workbook.Save();
spreadsheetDocument.Close();
}
위 코드에서 CreateExcelFile(string directoryPath, string fileName) 메서드는 폴더 경로와 파일 이름을 매개 변수로 받아 Excel 파일을 생성합니다. CreateExcelFile 메서드는 다음과 같은 작업을 수행합니다.
- Excel 파일 생성
- WorkbookPart와 WorksheetPart 추가
- Worksheet 및 SheetData 추가
- Sheets 및 Sheet 추가
- Workbook 저장
- SpreadsheetDocument 닫기
이제 C#에서 Microsoft Office를 설치하지 않고 Excel (.XLS 및 .XLSX) 파일을 생성할 수 있습니다. OpenXML 라이브러리를 사용하면 Microsoft Office의 제한된 기능이 없는 Excel 파일 생성을 가능하게 합니다.