Search packages, repositories and app categories

GitHub repositorybillthecoder046/to_csv

to_csv

billthecoder046/to_csv open-source repository details.

to_csv project cover
Stars
5
Forks
22
Last push (UTC)
Jul 16, 2025
Project status
Active

Original README

English project snapshot. Visit GitHub for the latest content.

header

You can create and download a CSV/Excel file with much less code. Do not forget to like the package if this helped you...

How to use it?

  • Firstly, add to_csv as a dependency in your pubspec.yaml file.
  • And import this as in your dart file:
   import 'package:to_csv/to_csv.dart' as exportCSV;
  • In your onPressed/onTap function (or wherever you like), create a list of Strings that will be the Header of your table or excel file.
 List<String> header = [];
header.add('No.');
header.add('User Name');
header.add('Mobile');
header.add('ID Number');
  • Also create a two lists which contains your list of rows as List
  List<List<String>> listOfLists = []; //Outter List which contains the data List
List<String> data1 = ['1','Bilal Saeed','1374934','912839812']; //Inner list which contains Data i.e Row
List<String> data2 = ['2','Ahmar','21341234','192834821']; //Inner list which contains Data i.e Row

Note: Length of elements present in Rows should be equal to the length of header list length

  • Now add your data variables in listOfVisitor which is List of List of Strings actually.
  listOfLists.add(data1);
  listOfLists.add(data2);
  • Finally pass header and listOfVisitors to the package function like this:
 exportCSV.myCSV(header, listOfLists);

And your csvFile will be downloaded in no minutes. Open it on excel or in any other app and Enjoy!

Your final output will be:

A pretty Tiger

Configuration FOR IOS:

Go to your project folder, ios/Runner/info.plist and Add these keys:

    <key>LSSupportsOpeningDocumentsInPlace</key>
    <true/>
    <key>UIFileSharingEnabled</key>
    <true/>

iOSkeysImage

Or Configure in XCode:

Open Your Project in XCode (Open XCode -> Open a project or file -> Your_Project_Folder/ios/Runner.xcworkspace) Open info.plist Add these rows:

Application supports iTunes file sharing (Boolean -> Yes)

Supports opening documents in place (Boolean -> Yes) forIoSImage

Important Updates

1. *) Added property emptyRowsConfig to add multiple empty rows on multiple places,
*) Added property removeDuplicates to remove duplicate values in data,
*) Added noDuplicatedCheckAfterSpecificRow to stopChecking duplicate rows after a certain row
*) Data can be transposed now from a specific row
Take a look at this code:
```
       dart await  myCSV(header, listOfLists,setHeadersInFirstRow:false,includeNoRow: true,sharing: false, removeDuplicates: true, showDuplicateValue:true,noDuplicatedCheckAfterSpecificRow: 3 );```
2. Column headers can now be switched as the first element of each row.

When setHeadersInFirstRow is set to false like the following code:

await  myCSV(header, listOfLists,setHeadersInFirstRow:false,includeNoRow: true, sharing: false);

Output would be: MyCSVFormate But when setHeadersInFirstRow is set to true, OUTPUT would be: MyCSVFormate

You can also set dart includeNoRow: false to remove No. row/column
3. You can also design your csv like this
by using this code:
   await myCSV(header, listOfLists,
sharing: false,
setHeadersInFirstRow: false,
fileName: "myProjectCSV-",
removeDuplicates: true,
showDuplicateValue: false,
emptyRowsConfig: {11: 2},
noDuplicatedCheckAfterSpecificRow: 10,
transposeAfterRow: 11);
4. Compatible with Dart 3 now. Compiled with Flutter 3.22.2 ##3.0.0 & resolved all flutter analyze issues

Additional information

If you like to contribute to this open source project, you are Welcome . If you need to make any changes, or find any issue please let me know on github and I will solve it.

And if you liked the package, don't forget to hit like button.

Would love to hear how I can improve this package more...!

Buy me a Coffee Hire me

Check me out here

Bill_the_coder GitHub avatar
GitHub author

Bill_the_coder ↗

I am an experienced Fullstack developer having 7+ years of experience in Software Engineering

FreelancerVehari, Pakistan
LanguagesC++DartCMakeRubyHTMLSwiftObjective-CCJava

Dependencies used

Dependency list 10 items

How do I choose a repository?

Start with your use case, compare repository activity, and check the original project before adopting it.

  1. Search by repository name, owner or description, then narrow the results by topic.
  2. Compare stars, forks and recent pushes. Stars show community interest, not a guarantee of quality.
  3. Read the README, license and issues on GitHub before using a project.

Sources and maintenance

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗