数组转DataTable

using System;
using System.Data;

namespace ArrayToDataTable
{
class ArrayToDataTable
{
/// <summary>
/// 把一个一维数组转换为DataTable
/// </summary>
public static DataTable Convert(string ColumnName, string[] Array)
{
DataTable dt = new DataTable();
dt.Columns.Add(ColumnName, typeof(string));

for (int i = 0; i < Array.Length; i++)
{
DataRow dr = dt.NewRow();
dr[ColumnName] = Array[i].ToString();
dt.Rows.Add(dr);
}
return dt;
}

/// <summary>
/// 反一个M行N列的二维数组转换为DataTable
/// </summary>
public static DataTable Convert(string[] ColumnNames, string[,] Arrays)
{
DataTable dt = new DataTable();

foreach (string ColumnName in ColumnNames)
{
dt.Columns.Add(ColumnName, typeof(string));
}

for (int i1 = 0; i1 < Arrays.GetLength(0); i1++)
{
DataRow dr = dt.NewRow();
for (int i = 0; i < ColumnNames.Length; i++)
{
dr[i] = Arrays[i1, i].ToString();
}
dt.Rows.Add(dr);
}
return dt;
}
/// <summary>
/// 反一个M行N列的二维数组转换为DataTable
/// </summary>
public static DataTable Convert(string[,] Arrays)
{
DataTable dt = new DataTable();

int a = Arrays.GetLength(0);
for (int i = 0; i < Arrays.GetLength(1); i++)
{
dt.Columns.Add("col" + i.ToString(), typeof(string));
}

for (int i1 = 0; i1 < Arrays.GetLength(0); i1++)
{
DataRow dr = dt.NewRow();
for (int i = 0; i < Arrays.GetLength(1); i++)
{
dr[i] = Arrays[i1, i].ToString();
}
dt.Rows.Add(dr);
}
return dt;
}
}
}
调用
[csharp] view plaincopyprint?
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace ArrayToDataTable
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
dataGridView1.DataSource = ArrayToDataTable.Convert("haha", new string[] { "1", "2", "3", "4", "5", "6" });
}

private void button2_Click(object sender, EventArgs e)
{
string[,] array3D = {

{ "1", "数组转DataTable 1", "0"},

{ "2", "数组转DataTable 2", "1"},

{ "3", "数组转DataTable 3", "1"},

{ "4", "数组转DataTable 4", "2"},

{ "5", "数组转DataTable 5", "2"},

{ "6", "数组转DataTable 6", "5"},

};
dataGridView1.DataSource = ArrayToDataTable.Convert(new string[] { "haha1", "haha2", "haha3" }, array3D);
}

private void button3_Click(object sender, EventArgs e)
{
string[,] array3D = {

{ "1", "数组转DataTable 1", "0"},

{ "2", "数组转DataTable 2", "1"},

{ "3", "数组转DataTable 3", "1"},

{ "4", "数组转DataTable 4", "2"},

{ "5", "数组转DataTable 5", "2"},

{ "6", "数组转DataTable 6", "5"},

};
dataGridView1.DataSource = ArrayToDataTable.Convert(array3D);
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
System.Diagnostics.Process.Start("Iexplore.exe", "http://www.yongfa365.com/");

}
}
}

时间: 2024-10-14 23:36:23

数组转DataTable的相关文章

使用LinQ To Object把数组或DataTable中的数据进行向上汇总

来自森大科技官方博客http://www.cnsendblog.com/index.php/?p=215GPS平台.网站建设.软件开发.系统运维,找森大网络科技!http://cnsendnet.taobao.com 最近搞造价系统时遇到一些需要汇总的指标数据 类似下面的结构 指标A     1000    指标B    500    指标C    500 指标A = B+C 当我们需要对这些数值进行校验时,实现的方法有很多种,数据库里写存储过程去更新每行数据, 或者我们在程序中遍历等等,但用起

DataRow数组转换DataTable

public DataTable ToDataTable(DataRow[] rows) { if (rows == null || rows.Length == 0) return null; DataTable tmp = rows[0].Table.Clone(); // 复制DataRow的表结构 foreach (DataRow row in rows) tmp.Rows.Add(row.ItemArray); // 将DataRow添加到DataTable中 return tmp;

DataRow[] /数组转换datatable!

/// <summary> /// /// </summary> /// <param name="dt"></param> /// <param name="strWhere">筛选的条件</param> /// <returns></returns> public DataTable SreeenDataTable(DataTable dt,string strWhe

C# 二维数组 转换成 DataTable

C# 数据转换 Overview C# 窗体操作中,有些比较特别的操作.但是为了方便我们不得不使用一些比较特别的手段. C#中二维数组转DataTable 首先,我们看一下我对二维数组的数据处理.这次我是将Excel表格中的数据,读成二维数组的格式的.看一下代码: 从Excel中读取数据并转换成二维数组 string FileNmae = System.IO.Directory.GetCurrentDirectory(); Excel.Application Excel_Reader = new

深入详解DataTable

在学习DataTable知识之前,我们有必要了解下ADO.NET.以下摘自MSDN: ADO.NET 对 Microsoft SQL Server 和 XML 等数据源以及通过 OLE DB 和 XML 公开的数据源提供一致的访问.数据共享使用者应用程序可以使用 ADO.NET 来连接到这些数据源,并检索.处理和更新所包含的数据.ADO.NET 通过数据处理将数据访问分解为多个可以单独使用或一前一后使用的不连续组件.ADO.NET 包含用于连接到数据库.执行命令和检索结果的 .NET Frame

DataTable转CSV

/// <summary> /// 将DataTable中数据写入到CSV文件中 /// </summary> /// <param name="dt">提供保存数据的DataTable</param> /// <param name="fileName">CSV的文件路径</param> public void SaveCSV(DataTable dt, string fileName) {

DataTable 选项说明

DataTable 选项说明 code { font-family: sans-serif; font-size: 18px; color: chocolate } span { font-family: sans-serif; font-size: 18px; color: darkslategrey } .show { border-style: dashed; border-width: 1px; border-color: darkolivegreen; padding: 1px 1px

ADO.NET之Datatable的应用

一.思维导图 一.     定义 Datatable类将关系数据表示为表格形式. ADO.NET提供了一个Datatable类来独立创建和使用数据表.它也可以和Dataset一起使用. 最初,当创建Datatable时,它没有表模式.我们可以通过向表中添加列和约束来创建表模式.在定义表模式之后,可以向表中添加行.在创建Datatable之前,必须包含System.Data名称空间. 二.   构造函数 (1) DataTable Doctertable=new DataTable() 初始化没有

Excel催化剂开源第14波-VSTO开发之单元格区域转DataTable

在Excel开发过程中,大部分时候是和Range单元格区域打交道,在VBA开发中,大家都知道的一点是,不能动不动就去遍历所有单元格,那性能是非常糟糕的,很多时候,是需要把整个单元格区域装入数组中再作处理的. 在VSTO开发中,难不成还要用VBA这套老掉牙的东西来做吗?VBA的二维数组在.Net的世界中,真的一无是处,太多比它好用的东西存在,其中笔者最喜欢用的是DataTable这样的结构化的数据结构. 从单元格到DataTable,其实也就几句代码的事情,当数据进入到DataTable后,可以使