TreasureZ 2019-12-22
C# 窗体操作中,有些比较特别的操作。但是为了方便我们不得不使用一些比较特别的手段。
首先,我们看一下我对二维数组的数据处理。这次我是将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();
这部分内容和本章没有关系,不做过多的赘述,如果想了解可以看我以前的博客。
我们先来看一下代码:
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; } }
这边的二维数组我是从前一个窗体传值传过来的。