-1

示例:假设 A,B,C 是列,1,2,3 是工作表中的行。对于 A 列 1,2,3 行需要合并显示为单行如何使用电子表格齿轮 ABC 1 2 3

4

2 回答 2

1

我不确定动态生成标头是什么意思。你的数据来源是什么?要合并列或行,可以使用 IRange 类的 Merge 方法。

workbookView1.ActiveWorksheet.Cells["A1:A3"].Merge()

合并到一个单元格将仅保留最左上角的数据。

于 2012-01-03T19:22:13.237 回答
0

您可以做的是使用反射发送一个 Enumerable 类型并将其转换为 DataTable。

 private static DataTable ConvertToDataTable(IEnumerable<T> enumerable)
        {
            var properties = TypeDescriptor.GetProperties(typeof(T));
            var table = new DataTable();
            foreach (PropertyDescriptor prop in properties)
                table.Columns.Add(prop.Name, Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType);
            foreach (var item in enumerable)
            {
                var row = table.NewRow();
                foreach (PropertyDescriptor prop in properties)
                    row[prop.Name] = prop.GetValue(item) ?? DBNull.Value;
                table.Rows.Add(row);
            }
            return table;
        }

之后,让电子表格设备完成它的工作。将其转换为内存流,然后转换为 byte[]

将 byte[] 传递给 FileContentResult

于 2016-03-25T07:21:06.113 回答