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. 最后實現數據綁定。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM