C#DataTable绑定到GridView而不是导出到Excel - 具有相同名称的列

时间:2014-04-02 18:18:54

标签: c# asp.net gridview datatable export-to-excel

我正在研究C#项目(webform)。 我通过DataTable从DB获取数据。

我最初将我的数据绑定到GridView以将其导出到.xls文件中。 但是我需要添加具有相同名称的列。

¤-----------------------------------
| Global Information | Property |
¤----------------------------------- 
| Name |  NickName   |   Name   |
|

我认为达到此目的的最佳方式是引用第二行,因为此行有更多详细信息。但我想DataTable不能有2个同名的列。所以我的问题是:是否可以在同一列(另一行)中创建2个单元格,就像我在Global Information上显示的那样? (Name和NickName引用相同的列。)

如果不可能,请问还有其他方法可以实现这个目标吗?

2 个答案:

答案 0 :(得分:0)

1)我认为你需要为第一个细胞做准备。 这是导出时合并单元格的语法

Sheet.Range[Sheet.Cells[1, 1], Sheet.Cells[2, 1]].Merge();

2)我还有另一种选择:用你需要的任何格式创建简单的太阳穴。并在

中添加您的数据

这是一个例子:

try
    {
        FileInfo newFile = new FileInfo(@"D:\ExcelFromTemplate.xlsx");
        FileInfo template = new FileInfo(@"C:\Example.xlsx");

        using (ExcelPackage xlPackage = new ExcelPackage(newFile , template))
        {

           //Added This part
           foreach (ExcelWorksheet aworksheet in xlPackage.Workbook.Worksheets)
            {
                aworksheet.Cell(1, 1).Value = aworksheet.Cell(1, 1).Value;
            }

            ExcelWorksheet worksheet = xlPackage.Workbook.Worksheets["My Data"];

            ExcelCell cell = worksheet.Cell(5, 1);
            cell.Value = "15";

            //worksheet.Cell(5, 1).Value = "Soap";

            xlPackage.Save( );
            //Response.Write("Excel file created successfully");
        }

    }
    catch (Exception ex)
    {
        //Response.WriteFile(ex.InnerException.ToString());
    }

答案 1 :(得分:0)

为什么不使用命名法,例如:

TypeOfObject,所有者,儿童

所以你得到名字:

colGlobalName,colGlobalNickName,colPropertyName