1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- import 'package:csv/csv.dart';
- import 'package:intl/intl.dart';
- import 'package:path_provider/path_provider.dart';
- import 'dart:io';
- import 'package:path/path.dart' as p;
- import 'package:yoshi_papas_app/models/pedido_model.dart';
- Future<void> exportarPedidosACSV(List<Pedido> pedidos, String fileName) async {
- List<List<dynamic>> rows = [
- [
- "Folio",
- "Cliente",
- "Producto",
- "Cantidad",
- "Precio Unitario",
- "Estado",
- "Fecha"
- ]
- ];
- for (var pedido in pedidos) {
- for (var producto in pedido.productos) {
- List<dynamic> row = [
- pedido.id,
- pedido.nombreCliente,
- producto.producto?.nombre ?? 'No especificado',
- producto.cantidad,
- producto.producto?.precio ?? '0.0',
- pedido.estatus,
- pedido.peticion ?? ''
- ];
- rows.add(row);
- }
- }
- String csv = const ListToCsvConverter().convert(rows);
- final directory = await getApplicationDocumentsDirectory();
- final path = p.join(directory.path, fileName);
- final file = File(path);
- await file.writeAsString(csv);
- print('Archivo CSV guardado en $path');
- }
|