How to download DataTable in Excel format in C#
By Tan Lee Published on Nov 06, 2024 193
To download tabular data such as DataTable data in Excel CSV/TSV format in C#, you can follow these steps.
To add a tabular data download feature to a web page.
You need to create CSV or TSV content, then convert your tabular data (e.g., from a DataTable
) into a CSV or TSV formatted string.
Next, Send the CSV/TSV Data to the Web Client by using Response.Write()
to output plain text data (CSV/TSV) to the browser.
If the data needs to be sent as a file download (e.g., *.csv
or *.tsv
), ensure to set the appropriate headers and use Response.BinaryWrite()
to send a byte array for the file content.
private void ExportToTsv(DataTable dt) { // Create tsv content var sb = new StringBuilder(); // Add tsv header var columnNames = dt.Columns.Cast().Select(column => column.ColumnName).ToArray(); var headers = string.Join("\t", columnNames); sb.AppendLine(headers); // Add tsv rows var rows = dt.AsEnumerable().Select(row => string.Join("\t", row.ItemArray)); foreach (var r in rows) sb.AppendLine(r); string tsvContent = sb.ToString(); // Send data to web client Response.Clear(); Response.AddHeader("content-disposition", "attachment;filename=data.tsv"); Response.ContentType = "application/octet-stream"; Response.Write(tsvContent); Response.End(); }
- Primitive types in C#
- How to set permissions for a directory in C#
- How to Convert Int to Byte Array in C#
- How to Convert string list to int list in C#
- How to convert timestamp to date in C#
- How to Get all files in a folder in C#
- How to use Channel as an async queue in C#
- Case sensitivity in JSON deserialization
Categories
Popular Posts
Horizon MUI Admin Dashboard Template
Nov 18, 2024
Elegent Material UI React Admin Dashboard Template
Nov 19, 2024
Dash UI HTML5 Admin Dashboard Template
Nov 18, 2024
Material Lite Admin Template
Nov 14, 2024