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,或者为同一个值的数组时,可以使用稀疏数组来保存该数组. 稀疏数组的处理方法是: 记录数组一共有几行几列,有多少个不同的值 把具有不同值的元素的行列及值记 ...
随机推荐
-
服务端跨域处理 Cors
1 添加 System.Web.Cors,System.Web.Http.Cors 2 global文件中 注册asp.net 管道事件 protected void Application_Beg ...
-
mysql 插入中文时出现ERROR 1366 (HY000): Incorrect string value: &#39;\xC0\xEE\xCB\xC4&#39; for column &#39;usern ame&#39; at row 1
1 环境: MySQL Server 6.0 命令行工具 2 问题 : 插入中文字符数据出现如下错误: ERROR 1366 (HY000): Incorrect string value: '\ ...
-
highchart 导出图片, 显示空白
使用highchart时, 导出的图片会变空白.. 解决方案: 不要加载grid.js
-
Quartz使用总结
废话的前言 以前凭借年轻,凡事都靠脑记.现在工作几年后发现,很多以前看过.用过的东西,再次拿起的时候总觉得记不牢靠."好记性不如烂笔头"应该是某位上了年纪的大叔的切肤之痛(仅次于上 ...
-
Android Matrix详解
Matrix的数学原理 平移变换 旋转变换 缩放变换 错切变换 对称变换 代码验证 Matrix的数学原理 在Android中,如果你用Matrix进行过图像处理,那么一定知道Matrix这个类.An ...
-
GitHub托管BootStrap资源汇总
MESSENGER替换alert()消息和其他用户交互通知. JQUERY.TOCIFY.JS可以用Bootstrap或jQueryUI主题的Jquery表格组件. BOOTSTRAP-PROMPTS ...
-
Android应用程序安装过程源代码分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6766010 Android系统在启动的过程中, ...
-
在 Windows 下远程桌面连接 Linux - VNC 篇
VNC是由AT&T试验室开发,是一款优秀的远程控制工具软件,后来以GPL授权的形式开源.经过几年的发展,现在的VNC已经不单指某个软件,而是一类软件的通称.下面介绍Linux下常用的两个VNC ...
-
jQuery addClass removeClass toggleClass hasClass is(.class)用法
jQuery addClass removeClass toggleClass hasClass is(.class)用法 <%@ page language="java" ...
-
从有值的ID到汉字编码
前些日子漫无目的地刷着朋友圈,突然一个ID从字丛中闯入我的眼睛--"某&字"(为保护当事人隐私,此处用'某''字'代替),浸淫于计算机而产生的直觉告诉我,这是一个有值的表达 ...