示例:假设 A,B,C 是列,1,2,3 是工作表中的行。对于 A 列 1,2,3 行需要合并显示为单行如何使用电子表格齿轮 ABC 1 2 3
问问题
1060 次
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 回答