从DataGridView复制到Excel工作表并保持工作表格式

时间:2018-10-02 07:25:25

标签: c# excel datagridview interop

我可以将DGV很好地复制/粘贴到Excel,但是将网格格式导出到Excel,同时我希望保留单元格的配置状态。

这是我的操作方式:

private void copyDGV()
{
    dataGridViewOrdre.SelectAll();
    foreach (DataGridViewRow row in dataGridViewOrdre.Rows)
    {
        if (row.IsNewRow)
        {
            row.Selected = false;
        }
    }

    DataObject dataObj = dataGridViewOrdre.GetClipboardContent();
    if (dataObj != null)
    {
        Clipboard.SetDataObject(dataObj);
    }

    dataGridViewOrdre.ClearSelection();
}

private void buttonExport_Click(object sender, EventArgs e)
{
    string nouveauFichier = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\Bon de Livraison " + DateTime.Now.ToString("dd MM yyyy HH-mm-ss") + ".xlsx";
    File.Copy(modele, nouveauFichier);
    copyDGV();
    Microsoft.Office.Interop.Excel.Application xlexcel;
    Workbook xlWorkBook;
    Worksheet xlWorkSheet;
    xlexcel = new Microsoft.Office.Interop.Excel.Application();
    xlexcel.Visible = true;
    xlWorkBook = xlexcel.Workbooks.Open(nouveauFichier);
    xlWorkSheet = (Worksheet)xlWorkBook.Worksheets.get_Item(1);
    Range CR = (Range)xlWorkSheet.Cells[29, 1];
    CR.Select();
    xlWorkSheet.PasteSpecial(Type.Missing, false, false, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

使用类似xlWorkSheet.Cells[29, 1].Value = dataGridViewOrdre.Rows[0].Cells[0].Value;的格式可以保持Excel表格的格式。是代替复制/粘贴的实际方法吗?

0 个答案:

没有答案