我可以将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表格的格式。是代替复制/粘贴的实际方法吗?