123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- import 'package:csv/csv.dart';
- import 'package:path_provider/path_provider.dart';
- import 'dart:io';
- import 'package:path/path.dart'
- as p; // Importa path como p para evitar conflictos con otros nombres
- import '../../models/models.dart';
- Future<void> exportarPedidosACSV(List<Pedido> pedidos) async {
- List<List<dynamic>> rows = [
- [
- "Folio",
- "Cliente",
- "Producto",
- "Cantidad",
- "Precio Unitario",
- "Comentarios"
- ]
- ];
- for (var pedido in pedidos) {
- for (var producto in pedido.productos) {
- List<dynamic> row = [
- pedido.folio,
- pedido.nombreCliente,
- producto.producto?.nombre ?? 'No especificado',
- producto.cantidad,
- producto.producto?.precio ?? '0.0',
- pedido.comentarios ?? ''
- ];
- rows.add(row);
- }
- }
- String csv = const ListToCsvConverter().convert(rows);
- final directory =
- await getApplicationDocumentsDirectory(); // Obtiene el directorio de documentos
- final path = p.join(
- directory.path, 'pedidos.csv'); // Crea la ruta completa para el archivo
- final file = File(path);
- await file.writeAsString(csv); // Escribe el CSV en el archivo
- print('Archivo CSV guardado en $path');
- }
|