C#

您所在的位置:网站首页 vb保存数据到excel C#

C#

2023-09-13 11:48| 来源: 网络整理| 查看: 265

在这里插入图片描述

C# | 导出DataGridView中的数据到Excel、CSV、TXT

文章目录 C# | 导出DataGridView中的数据到Excel、CSV、TXT前言DataGridView数据转存DataTableDataTable转Excel方法一、使用Microsoft.Office.Interop.Excel方法二、使用EPPlus库方法三、使用NPOI库 DataTable转CSVDataTable转TXTDataGridView导出数据为JSON、XML格式结束语

前言

从DataGridView中导出数据到Excel、CSV、TXT是开发中非常常见的一种需求。本文将讲解如何高效的完成对这三种格式的单向导出。 倘若直接写三种格式的导出必定会产生大量的重复代码,而从表中获取结构化数据的思路是基本一致的,因此有一个思路是先将DataGridView中的数据转换为DataTable对象,再进一步导出成我们的目标格式。

本文将介绍如何将DataGridView中的数据转换为DataTable格式,并提供将DataTable转换为Excel、CSV、TXT三种格式的例子。

将DataGridView中的数据转换为DataTable格式,有助于我们更方便地对数据进行处理和操作,使我们可以轻松地使用C#中的各种数据处理和操作函数,例如排序、筛选、统计等。

通过本文的介绍和示例,您将能够快速掌握将DataGridView中的数据导出到各种格式的技巧。

DataGridView数据转存DataTable

以下是转换的思路:

首先创建了一个新的DataTable对象。然后我们使用DataGridView的列标题和值类型添加了DataTable的列。接下来,我们使用DataGridView的行和单元格值创建了新的DataRow对象,并将其添加到DataTable中。 // 创建一个新的DataTable对象 DataTable dt = new DataTable(); // 添加列 foreach (DataGridViewColumn column in dataGridView1.Columns) { dt.Columns.Add(column.HeaderText, column.ValueType); } // 添加行 foreach (DataGridViewRow row in dataGridView1.Rows) { DataRow dr = dt.NewRow(); foreach (DataGridViewCell cell in row.Cells) { dr[cell.ColumnIndex] = cell.Value; } dt.Rows.Add(dr); } DataTable转Excel 方法一、使用Microsoft.Office.Interop.Excel

添加引用:

using System; using System.Data; using System.IO; using System.Windows.Forms; using Excel = Microsoft.Office.Interop.Excel;

将DataTable转存为Excel文件:

public static void Convert(DataTable dt, string filePath) { // 创建一个Excel应用程序对象 Excel.Application excelApp = new Excel.Application(); // 创建一个新的工作簿 Excel.Workbook workbook = excelApp.Workbooks.Add(Type.Missing); // 创建一个新的工作表并命名为“Sheet1” Excel.Worksheet worksheet = (Excel.Worksheet)workbook.ActiveSheet; worksheet.Name = "Sheet1"; // 将DataTable的列名写入工作表中 for (int i = 0; i for (int j = 0; j // 创建一个新的Excel工作簿 ExcelPackage excelPackage = new ExcelPackage(); // 创建一个新的工作表并命名为“Sheet1” ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets.Add("Sheet1"); // 将DataTable的列名写入工作表中 for (int i = 0; i for (int j = 0; j // 创建一个新的Excel工作簿 IWorkbook workbook = new XSSFWorkbook(); // 创建一个新的工作表并命名为“Sheet1” ISheet worksheet = workbook.CreateSheet("Sheet1"); // 将DataTable的列名写入工作表中 IRow headerRow = worksheet.CreateRow(0); for (int i = 0; i IRow dataRow = worksheet.CreateRow(i + 1); for (int j = 0; j workbook.Write(fileStream); } } DataTable转CSV

添加引用:

using System; using System.Data; using System.IO;

将DataTable转存为CSV文件:

public static void Convert(DataTable dataTable, string filePath) { // 创建一个写入器 using (StreamWriter writer = new StreamWriter(filePath)) { // 写入表头 for (int i = 0; i writer.Write(","); } } writer.Write(writer.NewLine); // 写入表数据 foreach (DataRow row in dataTable.Rows) { for (int i = 0; i writer.Write(","); } } writer.Write(writer.NewLine); } } } DataTable转TXT

添加引用:

using System; using System.Data; using System.IO;

将DataTable转存为TXT文件:

public static void Convert(DataTable dataTable, string filePath, string delimiter = "\t") { // 创建一个写入器 using (StreamWriter writer = new StreamWriter(filePath)) { // 写入表头 for (int i = 0; i writer.Write(delimiter); } } writer.Write(writer.NewLine); // 写入表数据 foreach (DataRow row in dataTable.Rows) { for (int i = 0; i writer.Write(delimiter); } } writer.Write(writer.NewLine); } } } DataGridView导出数据为JSON、XML格式

请参考文章:《C# | DataGridView数据转存为Json、XML格式》

结束语

希望本文能够对您有所帮助,并使您更加熟悉C#编程语言中的文件导出和数据格式转换技术。

如果您有任何问题或建议,请在下方留言。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3