Excel 數據導入

///以table的形式顯示數據
public static void FillExcel(DataTable table)
        {
            //創建Excel.Application對象
            Excel.Application excel = new Excel.Application();
            excel.Application.Workbooks.Add(true);
            DataRowCollection rows = table.Rows;
            DataColumnCollection columns = table.Columns;
            IEnumerator col = columns.GetEnumerator();
            IEnumerator row = rows.GetEnumerator();
            int k = 1;
            //該循環添加表頭
            while (col.MoveNext())
            {
                DataColumn ch = (DataColumn)col.Current;
                excel.Cells[1, k] = ch.ColumnName;
                k++;
            }
            //該循環添加內容
            int i = 1;
            while (row.MoveNext())
            {
                DataRow drow = (DataRow)row.Current;

                for (int j = 1; j <= table.Columns.Count; j++)
                {
                    string dess = drow[j - 1] + "";
                    excel.Cells[i + 1, j] = dess;
                }
                i++;
            }
            excel.Visible = true;
        }
///以datagirdView顯示數據
 /// <summary>
        /// 填充某個Excel文件
        /// </summary>
        /// <param name="grid">填充數據源</param>
        public static void FillExcel(DataGridView grid)
        {
            //創建Excel.Application對象
            Excel.Application excel = new Excel.Application();
            excel.Application.Workbooks.Add(true);
            DataGridViewColumnCollection cols = grid.Columns;
            DataGridViewRowCollection rows = grid.Rows;
            IEnumerator col = cols.GetEnumerator();

            int k = 1;
            //設置表頭
            while (col.MoveNext())
            {
                DataGridViewColumn ch = (DataGridViewColumn)col.Current;
                excel.Cells[1, k] = ch.HeaderText;
                k++;
            }
            //循環添加內容
            int i = 1;
            foreach (DataGridViewRow ro in rows)
            {
                for (int j = 0; j < grid.Columns.Count; j++)
                {
                    string dess = ro.Cells[j].Value + "";
                    excel.Cells[i + 1, j + 1] = dess;
                }
                i++;
            }
            excel.Visible = true;
        }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章