C # Winforms текст заголовка столбца datagridview - PullRequest
1 голос
/ 12 сентября 2011

Я строю этот код, который экспортирует строки таблицы данных в файл Excel

Excel.Application xlApp ;
Excel.Workbook xlWorkBook ;
Excel.Worksheet xlWorkSheet ;
object misValue = System.Reflection.Missing.Value;

xlApp = new Excel.ApplicationClass();
xlWorkBook = xlApp.Workbooks.Add(misValue);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
int i = 0;
int j = 0;

for (i = 0; i <= dgvInventory.RowCount - 1; i++)
{
    for (j = 0; j <= dgvInventory.ColumnCount - 1; j++)
    {
        DataGridViewCell cell = dgvInventory[j, i];
        xlWorkSheet.Cells[i + 1, j + 1] = cell.Value;
    }
}

xlWorkBook.SaveAs(
    "D:\\exp.xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue,
    misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue,
    misValue, misValue, misValue, misValue
);
xlWorkBook.Close(true, misValue, misValue);
xlApp.Quit();

releaseObject(xlWorkSheet);
releaseObject(xlWorkBook);
releaseObject(xlApp);

это работает хорошо, но проблема в том, что я не могу экспортировать текст заголовка сетки данных. кто-нибудь может мне помочь?

Ответы [ 2 ]

3 голосов
/ 12 сентября 2011

Выполните цикл перед основным циклом, примерно так:

    for (int j = 0; j <= this.dataGridView1.ColumnCount - 1; j++)
    {
        string colName = dataGridView1.Columns[j].HeaderText;
    }

и установите заголовок в качестве строки строки Excel (0) или (1), а в столбце j - значение colName.

0 голосов
/ 19 октября 2018
    Excel.Application xlApp ;
    Excel.Workbook xlWorkBook ;
    Excel.Worksheet xlWorkSheet ;
    object misValue = System.Reflection.Missing.Value;

    xlApp = new Excel.ApplicationClass();
    xlWorkBook = xlApp.Workbooks.Add(misValue);
    xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
    int i = 0;
    int j = 0;

    /*header text*/
    for (i = 0; i <= dgvInventory.Columns.Count - 1; i++)
    {
      xlWorkSheet.Cells[1, i+1] = dgvView.Columns[i].HeaderText; 
    }

    /*And the information of your data*/
    for (i = 0; i <= dgvInventory.RowCount - 1; i++)
    {
        for (j = 0; j <= dgvInventory.ColumnCount - 1; j++)
        {
            DataGridViewCell cell = dgvInventory[j, i];
            xlWorkSheet.Cells[i + 2, j + 1] = cell.Value;
        }
    }

    xlWorkBook.SaveAs(
        "D:\\exp.xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue,misValue, misValue, misValue, misValue);
    xlWorkBook.Close(true, misValue, misValue);
    xlApp.Quit();

    releaseObject(xlWorkSheet);
    releaseObject(xlWorkBook);
    releaseObject(xlApp);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...