zoukankan      html  css  js  c++  java
  • 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;
        }
    }
    

    这边的二维数组我是从前一个窗体传值传过来的。

    步骤详解

    1. 首先,我们创建一个DataTable来接收我们的数据。
    2. 然后我们通过for循环我们的二维数组的第二维来填充我们的列。
    3. 填充完成后,我们通过嵌套循环的方式来向DataTable 中添加数据。
    4. 最后实现数据绑定。
  • 相关阅读:
    第 425 期 Python 周刊
    第 423 期 Python 周刊
    第423期 Python 周刊
    Python Weekly 422
    第421期 Python 周刊
    第420期 Python 周刊
    LeetCode 3: 无重复字符的最长子串 Longest Substring Without Repeating Characters
    Python Weekly 419
    LeetCode 771: 宝石与石头 Jewels and Stones
    LeetCode 652: 寻找重复的子树 Find Duplicate Subtrees
  • 原文地址:https://www.cnblogs.com/cao-1/p/12079131.html
Copyright © 2011-2022 走看看