Search

엑셀 파일 다운로드

준비물

excel 패키지
$ flutter pub add excel
Dart
복사

HOW TO

1. 엑셀 파일 객체 생성

Excel excel = Excel.createExcel(); Sheet sheetObject = excel['Sheet1']; // 열 제목 추가
Dart
복사

2. 엑셀 파일 내에 열 제목 추가

List<String> columnTitles = [ 'ID', 'Name', 'Dancer Name', 'Contact', 'Enrolled At' ]; for (int i = 0; i < columnTitles.length; i++) { var cell = sheetObject .cell(CellIndex.indexByColumnRow(columnIndex: i, rowIndex: 0)); cell.value = columnTitles[i]; }
Dart
복사

3. 데이터 추가

for (int row = 0; row < eventEnrollments.length; row++) { EventEnrollment enrollment = eventEnrollments[row]; // EventEnrollment 객체를 Excel '행'(row)으로 변환 List<dynamic> rowData = enrollment.toRowData(); // '행'을 셀에 추가해준다. for (int col = 0; col < rowData.length; col++) { var cell = sheetObject.cell( CellIndex.indexByColumnRow(columnIndex: col, rowIndex: row + 1)); cell.value = rowData[col]; } }
Dart
복사

4. 엑셀 파일 저장

4-1. 엑셀 파일 저장하는 함수 생성
Future<String?> saveExcelFile(Excel excel) async { // 외부 저장소 디렉토리 경로 가져오기 Directory? directory = await getExternalStorageDirectory(); if (directory != null) { String filePath = '${directory.path}/my_excel_file.xlsx'; // Excel 파일 저장 File file = File(filePath); await file.writeAsBytes(excel.encode()!); return filePath; } return null; }
Dart
복사
4-2. 엑셀 파일 저장
saveExcelFile(excel).then((value) { if (value != null) { print('Excel 파일이 저장되었습니다: $value'); } else { print('Excel 파일 저장에 실패하였습니다.'); } });
Dart
복사

4+ . [WEB] 엑셀 파일 저장

excel.save(fileName: 'test.xlsx');
Dart
복사
웹에서 사용할 때는 매우 간단하다.