C# 二维数组 转换成 DataTable
C# 数据转换
Overview
C# 窗体操作中,有些比较特别的操作。但是为了方便我们不得不使用一些比较特别的手段。
C#中二维数组转DataTable
首先,我们看一下我对二维数组的数据处理。这次我是将Excel表格中的数据,读成二维数组的格式的。看一下代码:
从Excel中读取数据并转换成二维数组
string FileNmae = System.IO.Directory.GetCurrentDirectory();
Excel.Application Excel_Reader = new Excel.Application();
Excel.Workbook Excel_Reader_Books = Excel_Reader.Workbooks.Open(FileNmae + "\\Data.xlsx");
Excel.Worksheet Excel_Reader_sheets = Excel_Reader_Books.Worksheets[1];
int rows = Excel_Reader_sheets.UsedRange.Rows.Count;
int columns = Excel_Reader_sheets.UsedRange.Columns.Count;
object[,] Data = new object[rows, columns];
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < columns; j++)
{
Data[i, j] = Excel_Reader_sheets.Cells[i + 1, j + 1].Text;
}
}
new FrmAndroid(Data).ShowDialog();
这部分内容和本章没有关系,不做过多的赘述,如果想了解可以看我以前的博客。
C# 将二维数组读取成DataTable
我们先来看一下代码:
public partial class FrmAndroid : Form
{
object[,] data;
public FrmAndroid(object[,] data)
{
InitializeComponent();
this.data = data;
DataTable dtSource = new DataTable();
//显示遍历我们二维数组的第二维,他是最为我们的列被添加
for (int i = 0; i < this.data.GetLength(1); i++)
{
DataColumn dataColumns = new DataColumn(i.ToString(), data[0, 0].GetType());
dtSource.Columns.Add(dataColumns);
}
//添加完成后,我们将整个二维数组循环遍历。并且通过嵌套遍历的方式获取其中的值,并添加到DataTable中去。
for (int i = 0; i < data.GetLength(0); i++)
{
DataRow dtRows = dtSource.NewRow();
for (int j = 0; j < data.GetLength(1); j++)
{
dtRows[j.ToString()] = data[i, j];
}
dtSource.Rows.Add(dtRows);
}
dataGridView1.DataSource = dtSource;
}
}
这边的二维数组我是从前一个窗体传值传过来的。
步骤详解
- 首先,我们创建一个DataTable来接收我们的数据。
- 然后我们通过for循环我们的二维数组的第二维来填充我们的列。
- 填充完成后,我们通过嵌套循环的方式来向DataTable 中添加数据。
- 最后实现数据绑定。
C# 二维数组 转换成 DataTable的更多相关文章
- php将二维数组转换成我想要的一维数组
使用方法array_column($array,b,$arr): 参数说明:$array是我们原始的二维数组,B是我们想要的values,c是key 举个栗子:这是我原来的二维数组 这是我需要的一维数 ...
- php 将一个二维数组转换成有父子关系的数组
<?php /** * Tree 树型类(无限分类) * * @author Kvoid * @copyright http://kvoid.com * @version 1.0 * @acce ...
- PHP中将二维数组 转换成字符串
function arr_to_str($arr) { $t ='' ; foreach ($arr as $v) { $v = join(",",$v); // 可以用implo ...
- 将二维数组转换成一维数组(基于reduce)
reduce:不改变原数组,返回一个新的数组.就是遍历数组元素,从头开始,依次往下,第一个参数是上一次的返回值,第二个参数是下一个数组元素,首次的时候第一个和第二个参数分别是 array[0], a ...
- Python中如何将二维列表转换成一维列表
已知:a = [(4,2,3), (5, 9, 1), (7,8,9)]希望将二维列表转换成一维列表:["4,2,3", "5, 9, 1", "7, ...
- Python 迭代器&生成器,装饰器,递归,算法基础:二分查找、二维数组转换,正则表达式,作业:计算器开发
本节大纲 迭代器&生成器 装饰器 基本装饰器 多参数装饰器 递归 算法基础:二分查找.二维数组转换 正则表达式 常用模块学习 作业:计算器开发 实现加减乘除及拓号优先级解析 用户输入 1 - ...
- C++笔记-数组指针/二维数组转换指针
参考资料: 1. 作者 BensonLaur :https://www.cnblogs.com/BensonLaur/p/6367077.html 2. https://blog.csdn.net/ ...
- JAVA描述算法和数据结构(01):稀疏数组和二维数组转换
本文源码:GitHub·点这里 || GitEE·点这里 一.基本简介 1.基础概念 在矩阵中,若数值为0的元素数目远远多于非0元素的数目,并且非0元素分布没有规律时,则称该矩阵为稀疏矩阵:与之相反, ...
- Java二维数组转成稀疏sparsearray数组
稀疏数组 基本介绍 当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组. 稀疏数组的处理方法是: 记录数组一共有几行几列,有多少个不同的值 把具有不同值的元素的行列及值记 ...
随机推荐
- 遇见手绘花卉小清新简约通用PPT模板推荐
模版来源:http://ppt.dede58.com/jiaoxuekejian/26484.html
- javascript中常见的几种循环遍历
项目开发中,不管是建立在哪个框架基础上,对数据的处理都是必须的,而处理数据离不开各种遍历循环.javascript中循环遍历有很多种方式,记录下几种常见的js循环遍历. 一.for循环 for循环应该 ...
- arcgis api 4.x for js 自定义叠加图片图层实现地图叠加图片展示(附源码下载)
前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 4.x for js:esri 官网 api,里面详细的介绍 arcgis api 4.x 各个类 ...
- 关于操作服务器上tomcat的常用linux指令
ll: 列出目录下的所有文件 cd:切换目录 pwd:显示目前的目录 grep xxxxxx catalina.out 查询文件中关于某个信息的内容 grep -3 xxxxxxca ...
- 【洛谷5492】[PKUWC2018] 随机算法(状压DP)
点此看题面 大致题意: 用随机算法求一张图的最大独立集:每次随机一个排列,从前到后枚举排列中的点,如果当前点加入点集中依然是独立集,就将当前点加入点集中,最终得到的点集就是最大独立集.求这个随机算法的 ...
- ubuntu下面安装nodejs
对于刚接触ubuntu的同学来说,一切都是新的,一切都是那么熟悉而又不熟悉的.不管是作为一个前端工程师还是一个后端工程师,我相信大家知道nodejs,但是如果希望自己能够在ubuntu上面使用node ...
- 使用ping网络工具编写Shell脚本程序实现网络连接故障初步排查
在学习ping命令的时候,突发奇想:为何不使用ping命令对网络连接故障进行排查? 具体思路: 1. ping 127.0.0.1 (虚拟网卡地址)以检查主机的TCP/IP协议栈是否正常. 2. p ...
- Spark家族:Win10系统下搭建Scala开发环境
一.Scala环境基础 Scala对Java相关的类,接口进行了包装,所以依赖Jvm环境. Jdk 1.8 scala 依赖 scala 2.11 安装版本 idea 2017.3 开发工具 二.配置 ...
- 前端之HTML介绍及使用
一.HTML介绍 1.1 web本质 在pycharm写入一下代码,然后在浏览器地址栏输入地址和端口127.0.0.1:8080,回车,回来运行代码,直接访问客户端发送的内容conn.send(b'& ...
- .net core web api 添加对session跨域实现
1.配置Startup /ConfigureServices添加: services.AddSession(options => { options.Cookie.Name = ".A ...