-1

Excel ファイルを C#.NET の dataGridView に読み込んでいますが、最初の行の列ヘッダーをレンダリングします。列ヘッダーのレンダリングを削除して、すべての行が同じように見えるようにするにはどうすればよいですか?

このダイアログを開いてExcelファイルを選択するには、openDialogBox1とbutton1があります。

private void button1_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {                
                Excel.Application excelApp = new Excel.Application();
                //excelApp.Visible = true;

                Excel.Workbook theWorkbook = excelApp.Workbooks.Open(openFileDialog1.FileName, 0, true, 5,
                                                                    "", "", true, Excel.XlPlatform.xlWindows, "\t", false, false,
                                                                    0, true);
                Excel.Sheets sheets = theWorkbook.Worksheets;
                Excel.Worksheet worksheet = (Excel.Worksheet)sheets.get_Item(1);

                /*
                for (int i = 1; i <= 3; i++)
                {
                    Excel.Range range = worksheet.get_Range("A"+i.ToString(), "B" + i.ToString());
                    dataGridView1.DataSource = rangeTable(range);                                        
                }
                 */
                Excel.Range range = worksheet.get_Range("A1", "B3");
                dataGridView1.DataSource = rangeTable(range);                                                                 
            }            
        }

        private DataTable rangeTable(Excel.Range range)
        {
            DataTable dataTable = new DataTable();
            int rowCnt = range.Rows.Count;
            int colCnt = range.Columns.Count;

            for (int i = 1; i <= rowCnt; i++)
            {
                DataRow newRow = dataTable.NewRow();
                for (int j = 1; j <= colCnt; j++)
                {
                    if (i == 1)
                    {
                        dataTable.Columns.Add(((Excel.Range)range.get_Item(i, j)).Value2.ToString(), typeof(string));
                    }
                    else
                    {
                        newRow[j - 1] = ((Excel.Range)range.get_Item(i, j)).Value2;
                    }
                }
                if (i > 1)
                {
                    dataTable.Rows.Add(newRow);
                }
            }
            return dataTable;
        }

ありがとう

4

1 に答える 1

0

ここを参照してRowHeadersVisible="false" ください: http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.rowheadersvisible.aspx

于 2012-10-11T19:06:51.290 に答える