Merge branch 'main' into branch_percobaan

This commit is contained in:
kleponijo 2026-05-20 19:05:13 +07:00
commit 5602e488be
2 changed files with 6 additions and 20 deletions

View File

@ -17,4 +17,3 @@ void main() async {
FirebaseMonitoringRepo(), FirebaseMonitoringRepo(),
)); ));
} }
// sadadsadsadsadasda

View File

@ -13,9 +13,11 @@ import 'package:excel/excel.dart';
import 'package:flutter/foundation.dart' show kIsWeb; import 'package:flutter/foundation.dart' show kIsWeb;
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
import 'package:monitoring_repository/monitoring_repository.dart'; import 'package:monitoring_repository/monitoring_repository.dart';
import 'dart:io';
import 'package:path_provider/path_provider.dart'; // Import kondisional: web pakai dart:html, mobile pakai io + share_plus
import 'package:share_plus/share_plus.dart'; import 'excel_saver_stub.dart'
if (dart.library.html) 'excel_saver_web.dart'
if (dart.library.io) 'excel_saver_mobile.dart';
class WindSpeedExcelService { class WindSpeedExcelService {
// Format helper // Format helper
@ -40,11 +42,8 @@ class WindSpeedExcelService {
DateTime? filterDate, DateTime? filterDate,
}) async { }) async {
final excel = Excel.createExcel(); final excel = Excel.createExcel();
// Hapus sheet default 'Sheet1'
excel.delete('Sheet1'); excel.delete('Sheet1');
// Buat dua sheet
_buildSummarySheet( _buildSummarySheet(
excel, currentSpeed, alertLevel, period, history, filterDate); excel, currentSpeed, alertLevel, period, history, filterDate);
_buildHistorySheet(excel, history, filterDate); _buildHistorySheet(excel, history, filterDate);
@ -52,21 +51,9 @@ class WindSpeedExcelService {
// Simpan file // Simpan file
final bytes = excel.save(); final bytes = excel.save();
if (bytes == null) throw Exception('Gagal membuat file Excel'); if (bytes == null) throw Exception('Gagal membuat file Excel');
final dir = await getTemporaryDirectory();
final name = 'wind_speed_${_fileFmt.format(DateTime.now())}.xlsx'; final name = 'wind_speed_${_fileFmt.format(DateTime.now())}.xlsx';
final file = File('${dir.path}/$name');
await file.writeAsBytes(bytes, flush: true);
// Bagikan via share sheet await saveAndShareExcel(Uint8List.fromList(bytes), name);
await Share.shareXFiles(
[
XFile(file.path,
mimeType:
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')
],
subject: 'Data Kecepatan Angin ${_headerFmt.format(DateTime.now())}',
);
} }
// //