C#数据表linq条件检查

问题描述 投票:0回答:1

我已经创建了如下所示的函数。一切工作正常,现在面临的挑战是,在某些情况下,最好将构造函数“ RadGridView网格”作为数据表。我正在寻找一个可以采用'RadGridView'或'Datatable'输入类型的构造函数-如果可能的话,一种“通用”构造函数?

public static void Export(RadGridView grid, string sheetName)
        {
            SaveFileDialog saveFileDialog1 = new SaveFileDialog();
            saveFileDialog1.Filter = "Excel file |*.xlsx";
            saveFileDialog1.Title = "Save";
            saveFileDialog1.ShowDialog();
            if (saveFileDialog1.FileName != "")
            {
                Microsoft.Office.Interop.Excel._Application app = new Microsoft.Office.Interop.Excel.Application();
                Microsoft.Office.Interop.Excel._Workbook workbook = app.Workbooks.Add(Type.Missing);
                Microsoft.Office.Interop.Excel._Worksheet worksheet = null;
                app.Visible = false;
                worksheet = workbook.Sheets["Sheet1"];
                worksheet = workbook.ActiveSheet;
                worksheet.Name = sheetName;
                Microsoft.Office.Interop.Excel.Range aRange = worksheet.UsedRange;
                workbook.Worksheets[1].Cells.NumberFormat = "@";

                for (int i = 1; i < grid.Columns.Count + 1; i++)
                {
                    worksheet.Cells[1, i] = grid.Columns[i - 1].HeaderText;
                }
                for (int i = 0; i < grid.Rows.Count; i++)
                {
                    for (int j = 0; j < grid.Columns.Count; j++)
                    {
                        worksheet.Cells[i + 2, j + 1] = grid.Rows[i].Cells[j].Value.ToString();
                    }
                }

                aRange.Value = aRange.Value;
                aRange.Cells.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignLeft;

                worksheet.Columns.AutoFit();
                workbook.SaveAs(saveFileDialog1.FileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
                app.Quit();
            }
        }

提前感谢!

c# function dynamic constructor universal
1个回答
0
投票

我使用'dynamic'关键字解决了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.