Skip to content

Commit 553d1ad

Browse files
authored
Merge pull request #370 from syncfusion-content/FLUT-6814-XlsIOCSV-HF
FLUT-6814 - UG documentation for Save as CSV support - Development
2 parents ee5f8b3 + ea5f8aa commit 553d1ad

File tree

1 file changed

+101
-0
lines changed

1 file changed

+101
-0
lines changed

Flutter/xlsio/working-with-excel-worksheet.md

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,3 +237,104 @@ final List<int>? bytes = workbook.saveAsStream();
237237
File('Output.xlsx').writeAsBytes(bytes!);
238238
workbook.dispose();
239239
{% endhighlight %}
240+
241+
## Save as CSV
242+
243+
A worksheet data with text, date time, and numbers with number formatting can be exported to CSV format. This feature also allows exporting the data to CSV format with custom separators instead of the default comma separator.
244+
245+
{% highlight dart %}
246+
//Create a new Excel Document.
247+
final Workbook workbook = Workbook();
248+
249+
//Access the sheets via index.
250+
final Worksheet worksheet = workbook.worksheets[0];
251+
252+
//Rename the worksheet.
253+
worksheet.name = 'csv format';
254+
255+
worksheet.showGridlines = false;
256+
worksheet.enableSheetCalculations();
257+
258+
//Set text
259+
worksheet.getRangeByName('A1').setText('Date');
260+
worksheet.getRangeByName('B1').setText('Region');
261+
worksheet.getRangeByName('C1').setText('Employee');
262+
worksheet.getRangeByName('D1').setText('Item');
263+
worksheet.getRangeByName('E1').setText('Units');
264+
worksheet.getRangeByName('F1').setText('Unit Cost');
265+
worksheet.getRangeByName('G1').setText('Total');
266+
267+
//Set date time
268+
worksheet.getRangeByName('A2').setDateTime(DateTime(2007, 12, 15));
269+
worksheet.getRangeByName('A3').setDateTime(DateTime(2007, 12, 18));
270+
worksheet.getRangeByName('A4').setDateTime(DateTime(2007, 12, 21));
271+
worksheet.getRangeByName('A5').setDateTime(DateTime(2007, 12, 24));
272+
worksheet.getRangeByName('A6').setDateTime(DateTime(2007, 12, 27));
273+
worksheet.getRangeByName('A7').setDateTime(DateTime(2007, 12, 30));
274+
worksheet.getRangeByName('A8').setDateTime(DateTime(2008, 1, 2));
275+
276+
//Set text
277+
worksheet.getRangeByName('B2').setText('Central');
278+
worksheet.getRangeByName('B3').setText('Wast');
279+
worksheet.getRangeByName('B4').setText('Central');
280+
worksheet.getRangeByName('B5').setText('East');
281+
worksheet.getRangeByName('B6').setText('East');
282+
worksheet.getRangeByName('B7').setText('East');
283+
worksheet.getRangeByName('B8').setText('East');
284+
285+
//Set text
286+
worksheet.getRangeByName('C2').setText('Jones');
287+
worksheet.getRangeByName('C3').setText('Kivell');
288+
worksheet.getRangeByName('C4').setText('Howard');
289+
worksheet.getRangeByName('C5').setText('Gill');
290+
worksheet.getRangeByName('C6').setText('Anderson');
291+
worksheet.getRangeByName('C7').setText('Anderson');
292+
worksheet.getRangeByName('C8').setText('Anderson');
293+
294+
//Set text
295+
worksheet.getRangeByName('D2').setText('Pen Set');
296+
worksheet.getRangeByName('D3').setText('Binder');
297+
worksheet.getRangeByName('D4').setText('Pen & Pencil');
298+
worksheet.getRangeByName('D5').setText('Pen');
299+
worksheet.getRangeByName('D6').setText('Binder');
300+
worksheet.getRangeByName('D7').setText('Pen Set');
301+
worksheet.getRangeByName('D8').setText('Pen Set');
302+
303+
//Set number
304+
worksheet.getRangeByName('E2').number = 700;
305+
worksheet.getRangeByName('E3').number = 85;
306+
worksheet.getRangeByName('E4').number = 62;
307+
worksheet.getRangeByName('E5').number = 58;
308+
worksheet.getRangeByName('E6').number = 10;
309+
worksheet.getRangeByName('E7').number = 19;
310+
worksheet.getRangeByName('E8').number = 6;
311+
312+
//Set number
313+
worksheet.getRangeByName('F2').number = 1.99;
314+
worksheet.getRangeByName('F3').number = 19.99;
315+
worksheet.getRangeByName('F4').number = 4.99;
316+
worksheet.getRangeByName('F5').number = 19.99;
317+
worksheet.getRangeByName('F6').number = 4.99;
318+
worksheet.getRangeByName('F7').number = 2.99;
319+
worksheet.getRangeByName('F8').number = 1.99;
320+
321+
//Set number format
322+
worksheet.getRangeByName('F2:F8').numberFormat = r"'$'#,##0.00";
323+
324+
//Set formula
325+
worksheet.getRangeByName('G2').formula = 'E2*F2';
326+
worksheet.getRangeByName('G3').formula = 'E3*F3';
327+
worksheet.getRangeByName('G4').formula = 'E4*F4';
328+
worksheet.getRangeByName('G5').formula = 'E5*F5';
329+
worksheet.getRangeByName('G6').formula = 'E6*F6';
330+
worksheet.getRangeByName('G7').formula = 'E7*F7';
331+
worksheet.getRangeByName('G8').formula = 'E8*F8';
332+
333+
//Set number format
334+
worksheet.getRangeByName('G2:G8').numberFormat = r"'$'#,##0_)";
335+
336+
//Save workbook as CSV
337+
final List<int> bytes = workbook.saveAsCSV(',');
338+
File('Output.csv').writeAsBytes(bytes);
339+
workbook.dispose();
340+
{% endhighlight %}

0 commit comments

Comments
 (0)