【问题标题】:How to copy all values from data grid?如何从数据网格中复制所有值?
【发布时间】:2016-05-19 01:55:57
【问题描述】:

我必须将数据网格值导出到 Excel。我正在使用以下代码复制数据网格值。

InvoiceDataGrid.SelectAllCells()
InvoiceDataGrid.ClipboardCopyMode = DataGridClipboardCopyMode.IncludeHeader
ApplicationCommands.Copy.Execute(Nothing, Me.InvoiceDataGrid)
Dim result1 As String = Clipboard.GetData(DataFormats.Text)
InvoiceDataGrid.UnselectAllCells()

但有时它不会从网格中获取整数值。请帮我。 .

【问题讨论】:

    标签: wpf vb.net datagrid


    【解决方案1】:

    这是我用 C# 编写和使用的东西...

    ExportToExcel

    private void ExportToExcel()
    {
        try
        {
            dataGrid.SelectAllCells();
            dataGrid.ClipboardCopyMode = DataGridClipboardCopyMode.IncludeHeader;
            ApplicationCommands.Copy.Execute(null, dataGrid);
            var resultat = (string)Clipboard.GetData(DataFormats.CommaSeparatedValue);
            var result = (string)Clipboard.GetData(DataFormats.Text);
            dataGrid.UnselectAllCells();
            var path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
            var excelFile = new StreamWriter(@"C:\Users\"+Environment.UserName+@"\Desktop\exportedcompanies.xls");
            excelFile.WriteLine(result.Replace(',', ' '));
            excelFile.Close();           
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
    }   
    

    【讨论】:

    • 谢谢您.. 它正在工作,但日期格式已更改。我在网格中有一个日期格式为 dd/mm/yy,但在 excel 表中它转换为 dd/mm/yyyy hh/mm。 .我该如何解决这个问题。
    • @PrabhagaranP 您可能希望循环使用DataGridRows 并使用String.Format(dd/MM/yy); 格式化列
    猜你喜欢
    • 1970-01-01
    • 2021-10-11
    • 1970-01-01
    • 2012-06-19
    • 1970-01-01
    • 1970-01-01
    • 2010-09-13
    • 2010-12-19
    • 1970-01-01
    相关资源
    最近更新 更多